有问题的代码,我不明白为什么我会收到错误。
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
运行任何帮助将不胜感激
答案 0 :(得分:2)
你在下面一行的某处错过了一个括号:
(Fun(Xn+Fun(Xn))-Fun(Xn)
还有一个左括号而不是右括号。