关于使用matlab写牛顿迭代法计算方程 f (x) = x^3 + 2x^2 +10x - 20 = 0 在区间[1,2]内的一个根的问题.使用牛顿(Newton )法计算方程 f (x) = x^3 + 2x^2 +10x - 20 = 0 在区间[1,2]内的一个根.以下是我的程序,但是迭代次数居然有31次!牛顿法平方收敛不至于要迭代这么多次.请您帮忙看看是什么地方出错了.function [ x,k ] = Newton( x0,tol,N )x0=1;tol=1.0e-5;N=500;x=x0;x=x0+2*e;k=0;while abs(x0-x)>tol&k

问题描述:

关于使用matlab写牛顿迭代法计算方程 f (x) = x^3 + 2x^2 +10x - 20 = 0 在区间[1,2]内的一个根的问题.
使用牛顿(Newton )法计算方程 f (x) = x^3 + 2x^2 +10x - 20 = 0 在区间[1,2]内的一个根.以下是我的程序,但是迭代次数居然有31次!牛顿法平方收敛不至于要迭代这么多次.请您帮忙看看是什么地方出错了.
function [ x,k ] = Newton( x0,tol,N )
x0=1;
tol=1.0e-5;
N=500;
x=x0;
x=x0+2*e;
k=0;
while abs(x0-x)>tol&k

这是pascal吗,
貌似循环不太对

x=x0-(x0.^3+2*x0.^2+10*x0-20)/(3*x0*x0+4*x0+10);
最后应该是10,不是x0