我正在尝试学习找到函数根的正割方法。
在浏览网页时,我遇到了this网站并尝试了其代码:
a=input('enter function:','s');
f=inline(a)
x(1)=input('enter first guess: ');
x(2)=input('enter second guess: ');
n=input('enter tolerance: ');
iteration=0;
for i=3:1000
x(i) = x(i-1) - (f(x(i-1)))*((x(i-1) - x(i-2))/(f(x(i-1)) - f(x(i-2))));
iteration=iteration+1;
if abs((x(i)-x(i-1))/x(i))*100<n
root=x(i)
iteration=iteration
break
end
end
但是,当函数结束迭代并显示 root = x(i)时,我得到的只是整个表达式而不是数字。在站点示例之后,我得到两个多位数除以数字4(A / B),而不是得到数字4,当放入matlab时,给出结果4。 这是为什么?
是配置问题还是代码存在缺陷?
谢谢! 真诚的,RKrogh!