MATLAB之牛顿迭代法一、算法原理1、迭代公式将 f (x)在点xk做Taylor展开f(x)f(xk)f’(xk)(x-xk)…则有由上式可得牛顿迭代公式为Xk1X(k)- f (X(k))/f’(X(k))2、牛顿法的几何意义由上式可知如果如果我们选择x0作为初始点点x0fx0的切线方程为y-f(x0)f’(x0)(x-x0),该切线方程与x轴交点的横坐标为X1X(0)- f (X(0))/f’(X(0))然后以x1为初始点继续循环上述过程。在该过程中不断的对f(x)做切线因此牛顿迭代法也叫且宪法。3、牛顿法的收敛性设f (x)在[a, b]上存在二阶连续导数且满足下列条件1f (a)*f (b) 02f’(x) ≠03f’‘(x) 在区间[a,b]上不变号4取x0∈ [a, b]使得f’(x)f (x0) 0则牛顿迭代序列{xk}二阶收敛于f (x)在[a, b]上的唯一单根x。需要注意的是牛顿迭代法的收敛性取决于x0的选择。二、matlab程序bash clcclearsyms xhx.^3x.^2-1;fplot(h);x0NW(h,1,100);functionresultNW(h,x,n)fmatlabFunction(h);%将符号函数变为匿名函数hx x.^3x.^2-1f1matlabFunction(diff(h));X(1)x;i2;while1X(i)X(i-1)-f(X(i-1))/f1(X(i-1));ifabs(f(X(i)))1e-6resultX(i);return;endifinresultX(i);return;endii1;end end人工智能学习内容https://www.captainbed.cn/ty