T1 Ts

matlab不动点迭代法 [求助] MATLAB编程问题:迭代计算时,随时间t变化的函数f(t)怎么输入很急?

[更新]
·
·
分类:互联网
4771 阅读

[求助]

[求助] MATLAB编程问题:迭代计算时,随时间t变化的函数f(t)怎么输入很急?

MATLAB编程问题:迭代计算时,随时间t变化的函数f(t)怎么输入很急?

迭代计算时,确定计算步长DT(暂且这样写)后,每一次都要把上次计算的值作为初值进行计算,f(t)随t变化,这个要怎么输入才不会提示错误,请求高人指点。比如这里有个小程序是这样的:(t1、a0、Ts都是已知的)
for t0:0.05:10
if(tt1)(ta(t)a0-0.1*(t-t1)
else a(t)0
end
end
为什么会提示这样的错误:?Subscript indices must either be real positive integers or logicals.
我是MATLAB新手,由于要做毕业论文,需要编程进行迭代计算,好多都不懂,还请高手帮帮忙!我在这里先谢谢了

复制到M文件,保存运行即可function main()t15fine your own valueTs8a01count1for t1:0.01:10f(count)myfunction(t,t1,Ts,a0)countcount 1enddisp(The F value is:)disp(f)endfunction fmyfunction(t,t1,Ts,a0) if(tltt1) fa0 elseif (tgtt1)ampamp(tltTs) fa0-0.1*(t-t1) else f0 end end

matlab牛顿法的特点?

牛顿法的优点是速度快,迭代几次就可以满足精度要求,缺点是需要设定初始值,如果初值设置不好的话,有可能不收敛的

matlab中return与break的区别?

break就是直接跳出该层循环
continue就是直接进入该层循环的下一次迭代
return就是直接退出程序或函数返回了
break是结束循环。用在循环中就是退出循环,不再执行以后的循环,用在分支中 (switch... case)就是不执行此分支块的下面的语句
continue是结束本次循环。
循环是有很多次的,break之后不再循环,continue结束本次循环后,再开始下一次的循环。
大概的关系如下
returnbreakcontinue