⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dampednewton.m

📁 Nonlinear Problem Files Collection
💻 M
字号:
function [] = dampedNewton(f,Df,x0,maxite);format compactxMax=1.5*abs(x0);xMin=-xMax;dt= (xMax-xMin)/100;yMax=abs(feval(f,xMax));t = xMin:dt:xMax;plot(t,feval(f,t),'k-');axis([xMin xMax -yMax yMax]);hold on;plot([xMin xMax],[0 0],'k-');hold on;plot([0 0],[-yMax yMax],'k-');x(1)=x0; k=0; disp(sprintf('x_%d=%f',k/2,x(k+1)))y(1)=0;for k=2:2:2*maxite   x(k)=x(k-1);   y(k)=feval(f,x(k));   dx=-feval(f,x(k))/feval(Df,x(k));   lambda=2;   lambdaMin=1.e-10;   ddx=2*dx;   while abs(ddx)>(1-lambda/2.)*abs(dx)     lambda=lambda/2;     if lambda<lambdaMin  lambda=-1; disp('lambda zu klein'); break; end;     z=x(k-1)+lambda*dx;     ddx=-feval(f,z)/feval(Df,x(k));   end;     if lambda<0 break;    else     waitforbuttonpress;     x(k+1)=x(k)+lambda*dx;     disp(sprintf('x_%d= %f    lambda=%f',k/2,x(k+1),lambda));     y(k+1)=0;     plot(x,y,'r*-');   end;end;if lambda<0 displ('Daempfungsparameter zu klein'); end;hold off;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -