如何用matlab求解方程的根

如题所述

用matlab迭代法求方程的根,其求解思路是这样的:
1、创建迭代公式,即 x(k+1)=sqrt(10/x(k)-4*x(k))
2、确定初值,x(1)=1.5
3、使用while循环语句,进行迭代
4、当x(k+1)-x(k)<ε=1e-5,则x(k)为方程的根。
实现代码:
x(1)=1.5
k=1;
while k<10000
x(k+1)=sqrt(10/x(k)-4*x(k));
if abs(x(k+1)-x(k))<1e-5
disp('f(x)=x^3+4*x^2-10=0 在【1,2】上的一个根为')
disp(x(k))
break
end
k = k + 1;
end
由于使用该迭代公式无法收敛,故该法不适应求解其方程。应该考虑其他数值方法,如二分法,牛顿法等
其实数解为1.3652
温馨提示:答案为网友推荐,仅供参考
相似回答