matlab中的fixpoint迭代实现

时间:2016-12-24 08:28:52

标签: matlab

我想创建一个用固定点迭代计算函数根的程序。函数是fixpoint_iteration(f,s),而f已经是fixpoint函数(例如x = 2 * x ^ 2),s是起始值。到目前为止我的代码是:

while 1
    xn = eval(subs(g,x));
    if abs(xn-x) < 0.0000001
        disp(xn);
        break
    end
    x = xn;
end

我遇到的问题是它经常在无限循环中运行,我不知道为什么以及如何解决这个问题。例如,当我要求fixpoint_iteration(@(x)x ^ 3 + 0.3,0)时,它给了我一个正确的根,但是当我使用其他起始值时我无法找到其他根,因为它总是找到相同的根,通常以无限循环结束。

0 个答案:

没有答案