📄 adptnewt.m
字号:
function [xvect,xdif,fx,nit,m] = adptnewt(x0,nmax,toll,fun,dfun)xvect=x0; nit=0; r=[1]; err=toll+1; m=[1]; xdif=[];while (nit < nmax) & (err > toll) nit=nit+1; x=xvect(nit); fx(nit)=eval(fun); f1x=eval(dfun); if (f1x == 0), disp(' Stop due to vanishing derivative '); return; end; x=x-m(nit)*fx(nit)/f1x; xvect=[xvect;x]; fx=[fx;eval(fun)]; rd=err; err=abs(xvect(nit+1)-xvect(nit)); xdif=[xdif;err]; ra=err/rd; r=[r;ra]; diff=abs(r(nit+1)-r(nit)); if (diff < 1.e-3) & (r(nit+1) > 1.e-2), m(nit+1)=max(m(nit),1/abs(1-r(nit+1))); else, m(nit+1)=m(nit); endend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -