newtonsteffensen.m
来自「这是非线性方程(组)的数值解法」· M 代码 · 共 20 行
M
20 行
function [x,n]=NewtonSteffensen(f,x0,eps)
% 比Newton迭代法,更快
% 利用了Steffensen加快收敛的方法
if nargin ==2
eps=1e-5;
end
g=inline(diff(sym(f))); % f 的导函数
y1=x0-f(x0)/g(x0);
z1=y1-f(y1)/g(y1);
x1=x0-(y1-x0)^2/(z1-2*y1+x0);
n=1;
while abs(x1-x0)>eps && abs(f(x1))>eps
x0=x1;
y1=x0-f(x0)/g(x0);
z1=y1-f(y1)/g(y1);
x1=x0-(y1-x0)^2/(z1-2*y1+x0);
n=n+1;
end
x=x1;
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?