求各位大侠帮我看个matlab程序,关于for循环的

问题描述:

求各位大侠帮我看个matlab程序,关于for循环的
>> syms x h
>> u(1)=x;
>> for k=2:1:5
u(k)=int(h*(diff(u(k-1))+u(k-1)^2-1),x);
u(k)=u(k)+u(k-1)
end
怎样让它只输出最终结果,不输出中间结果 我在运行的时候算到k=7时,matlab就黑屏了,但事实上我需要算到40或者更多.
也许我的程序本身有问题,万分感激.
1个回答 分类:综合 2014-10-08

问题解答:

我来补答
1.在u(k)=u(k)+u(k-1)后面加上“;”即可.
2.由于计算的幂次太高,而且计算的式子太长,所导致当k>=7时,计算变得非常缓慢,但是当时间足够长时候,也是能计算出来的.
3.建议采用数值积分,这样符号积分的代价太大.
再问: 我在u(k)=u(k)+u(k-1)后面加上“;”后,换行后加了u(k),输出结果好点,但是还是有中间结果,这个我不介意,我想算出40阶的结果,能劳烦您给我解释下数值积分怎么编程吗?能算到40阶吗?我是新手,万感激!!
 
 
展开全文阅读
剩余:2000
上一页:必修3第一单元
下一页:第4课时