Matlab 数值分析Steffensen史蒂芬森迭代法
%Steffensen迭代法求根
%---输入参数------------------------------------------------------------------
syms x %不用改动
Phi=@(x)(1+x^2)^(1/3); %输入φ(x)函数
epsilon=1e-5; %精度误差
X=1.5; %输入X0
%---开始计算------------------------------------------------------------------
k=0;
x1=X-1;
while abs(X-x1)>epsilon
x1=X;
X=X-(Phi(X)-X)*(Phi(X)-X)/(Phi(Phi(X))-2*Phi(X)+X);
k=k+1;
end
fprintf('x为%.9f\n',X)
fprintf('迭代%d次数\n',k)