function[x_star,k]=Newton1(fname,dfname,x0,ep,Nmax)%fname和dfname分别表示f(x)及其导数的M函数句柄;
%x0为迭代初值;ep为精度
%x返回解,并显示计算过程,k为迭代次数上限以防发散
if nargin<5
Nmax=500;
end
if nargin<4
ep=1e-5;
end
x=x0;x0=x+2*ep;k=0;whileabs(x0-x)>ep&k<Nmax
k=k+1
x0=x
x=x0-feval(fname,x0)/feval(dfname,x0)
end
x_star=x
if k==Nmax
warning('超出迭代次数上限');
end