Matlab 数值分析Newton牛顿迭代法求根
%Newton迭代法求根
%---输入参数------------------------------------------------------------------
syms x %不用改动
Phi=@(x)x^2-2; %Phi函数
epsilon=1e-5; %精度误差
X=1.5;
%---开始计算------------------------------------------------------------------
k=0;
x1=X-1;
y=Phi(x);
Rho=matlabFunction(diff(y)); % 通过matlabFunction将符号函数转换为匿名函数
while abs(X-x1)>epsilon
x1=X;
X=X-Phi(X)/Rho(X);
k=k+1;
end
fprintf('x[%d]=%.9f\n',k+1,X)
fprintf('迭代%d次数\n',k)