作业帮 > 综合 > 作业

matlab 输出小数

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/05/10 20:13:42
matlab 输出小数
一个迭代公式
x(k+1)=0.99*x(k)-x(k)^2
初值为1,怎么输出时,从第二个到最后都只是0.
function x=J(y)
x(1)=y;
for i=1:20
x(i+1)=x(i)*(0.99-x(i));
end
x
貌似我换了个初值,又正常了,为什么呢?
matlab 输出小数
从第二个到最后一个都是-0.01.
请检查你的公式是否输入错误了;
我根据你现在给出的公式 x(k+1)=0.99*x(k)-x(k)^2
做个简单的非严格的证明:
假设序列x收敛,那么对x取极限可以得到 x=0.99*x - x^2,这个方程的解是0和-0.01,你的迭代的第二步就已经是收敛极限了,再迭代下去还是-0.01.
你换一个初值试试,收敛的结果可能是0,也可能是-0.01;还可能发散;