识别一小段八度代码中的解析错误

时间:2015-11-09 01:46:59

标签: matlab octave

有问题的代码,我不明白为什么我会收到错误。

function f=f(x)
   f=x-2*exp(-1*x);
end

function Xs = SteffensenRoot(Fun, Xest)
    Xn=Xest;
    i=0;
    while i<100
        Xs = Xn - (Fun(Xn)^2)/(Fun(Xn+Fun(Xn))-Fun(Xn)
        r=(Xs-Xn)/Xn;
        r=abs(r)
        if r<10^-6
           break;
        end
        Xn=Xs;
        i=i+1;
    end

    if i>100
        error('over 100 iterations!')
    end
end

SteffensenRoot(@f, 1)

我得到的错误

parse error near line 9 of file /web/com/1447010266_4282/main.m

syntax error

>>> r=(Xs-Xn)/Xn;
^

代码正在通过http://www.tutorialspoint.com/matlab/try_matlab.php

运行

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:2)

你在下面一行的某处错过了一个括号:

 (Fun(Xn+Fun(Xn))-Fun(Xn)

还有一个左括号而不是右括号。