matlab 输出小数

学习 时间:2026-03-30 14:43:02 阅读:663
matlab 输出小数一个迭代公式 x(k+1)=0.99*x(k)-x(k)^2初值为1,怎么输出时,从第二个到最后都只是0.function x=J(y)x(1)=y;for i=1:20x(i+1)=x(i)*(0.99-x(i));endx貌似我换了个初值,又正常了,为什么呢?

最佳回答

苗条的舞蹈

眼睛大的冰棍

2026-03-30 14:43:02

从第二个到最后一个都是-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;还可能发散;

最新回答共有2条回答

  • 单身的草丛
    回复
    2026-03-30 14:43:02

    从第二个到最后一个都是-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;还可能发散;

上一篇 棒球帽和鸭舌帽(鸭嘴帽)有什么最大的不同?cap帽呢?

下一篇 [多选题] 关于会计记录文字的使用,以下说法中正确的有( )