function x=Newton(fname,dfname,x0,e,N)%用途:Newton迭代法解非线性方程f(x)=0%fname和dfname分别表示f(x)及其导函数的M函数句柄或内嵌函数表达式%x0为迭代初值,e为精度(默认值1e-7)%x为返回数值解,并显示计算过程,设置迭代次数上限N以防发散(默认500次)%实例:解方程ln(x+sin(x))=0%在matlab窗口中输入:Newton(@(x)log(x+sin(x)),@(x)(1+cos(x))/(x+sin(x)),)if nargin<5,N=500;endif nargin<4,e=1e-7;endx=x0;x0=x+2*e;k=0;fprintf('x[%d]=%\n',k,x)while abs(x0-x)>e&&k