newton.m
来自「可用的用matlab求解非线性微分方程组的牛顿迭代」· M 代码 · 共 16 行
M
16 行
function x=newton(f,df,x0,e,N)
% Newton法解方程f(x)=0根的通用程序
% 格式x=newton(f,df,x0,e,N) f表示f(x),df表示f(x)的导函数,x0表示迭代初值,e为容许误差,N为迭代次数的上限
x=0;
x=x0; %k=0;
k=0;
disp('迭代结果:')
for k=1:N
x0=x;
x=x0-feval(f,x0)/feval(df,x0);
k=k+1;
disp(x)
if abs(x-x0)<e||abs(feval(f,x0))<e break;end
end
if k==N error('已超过迭代上限'); end
disp('迭代次数'),disp(k)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?