牛顿-拉夫逊法是求解非线性方程组的一种有效且收敛速度快的迭代计算方法。其原理是通过原方程和在x(k)处的低阶泰勒展开求取delta,并利用叠加以达到快速收敛的目的。本代码用于基础的方程组收敛求解:
prompt = '请输入多项式参数(降幂):';
temp = '请输入要求解的点:';
N = input(prompt);
X = input(temp);
F1 = N;
F1D = polyder(N);
ceta = 0.05;
for k = 1:24
%求解原函数x的解Y
Y = polyval(F1,X);
%求解导函数xD的解YD
YD = polyval(F1D,X);
jie = X;
diedai_num = k;
maxfan = max(Y,[],'all');
if abs(maxfan) <= ceta
break
end
delta = -Y./YD;
X = X+delta;
end
求解结果举例: