newton.m

来自「余向阳博士Matlab教程的源代码。 包括:1.非线性方程的解法;2.线性方程」· M 代码 · 共 22 行

M
22
字号
function[p1,err,k,y]=newton(f1041,df1041,p0,delta,max1)
%  f是非线性函数。
%  df是f的微商。
%  p0是初始值。
%  delta是给定允许误差。
%  max1是迭代的最大次数。
%  p1是牛顿法求得的方程的近似解。
%  err是p0的误差估计。
%  k是迭代次数。
%  y=f(p1)
p0,feval('f1041',p0)
for k=1:max1
   p1=p0-feval('f1041',p0)/feval('df1041',p0);
       err=abs(p1-p0);
         p0=p1;
       p1,err,k, y=feval('f1041',p1)
         if(err<delta)| (y==0),
         break,
     end
     p1,err,k, y=feval('f1041',p1)
end

⌨️ 快捷键说明

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