牛顿迭代法

简介: 牛顿迭代法(Newton's method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。牛顿迭代公式    设r是\(f(x)=0\)的根,选取\(x_0\)作为r的初始近似值,过点\((x_0,f(x_0))\),做曲线\(y=f(x)\)的切线L,L的方程为\(y=f(x_0)+f’(x_0)(x-x_0)\),求出L与x轴交点的横坐标\[x_1=x_0-\frac{f(x_0)}{f’(x_0)}\]    称\(x_1\)为r的一次近似值。

     牛顿迭代法Newton's method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。

牛顿迭代公式

    设r是\(f(x)=0\)的根,选取\(x_0\)作为r的初始近似值,过点\((x_0,f(x_0))\) ,做曲线 \(y=f(x)\)的切线L,L的方程为\(y=f(x_0)+f’(x_0)(x-x_0)\) ,求出L与x轴交点的横坐标

\[x_1=x_0-\frac{f(x_0)}{f’(x_0)}\]

    称\(x_1\)为r的一次近似值。过点\((x_1,f(x_1))\) 做曲线 \(y=f(x)\)的切线,并求该切线与x轴交点的横坐标

\[x_2=x_1-\frac{f(x_1)}{f’(x_1)}\]

    称\(x_2\)为r的二次近似值。重复以上过程,得r的近似值序列,其中,

\[x_{n+1}=x_n-\frac{f(x_n)}{f’(x_n)}\]

    称为r的\(n+1\)次近似值,上式称为牛顿迭代公式

    用牛顿迭代法解非线性方程,是把非线性方程\(f(x)=0\)线性化的一种近似方法。把 \(f(x)\)在点 \(x_0\)的某邻域内展开成泰勒级数

\[f(x)=f(x_0)+f’(x_0)(x-x_0)+\frac{f’’(x_0)(x-x_0)^2}{2!}+…+\frac{f^{(n)}(x_0)(x-x_0)^n}{n!}+R_n(x)\]

     取其线性部分(即泰勒展开的前两项),并令其等于0,即 \(f(x_0)+f’(x_0)(x-x_0)=0\),以此作为非线性方程 \(f(x)=0\)的近似方程,若\(f’(x_0)\neq0\),则其解为

\[x_1=x_0-\frac{f(x_0)}{f’(x_0)}\]

     这样,得到牛顿迭代法的一个迭代关系式:

\[x_{n+1}=x_n-\frac{f(x_n)}{f’(x_n)}\]

    从下面的图中,我们可以看到牛顿迭代的几何意义,每次迭代,都会更加逼近\(f(x)=0\)的解。

img_a3eb93fc70dd437946ab3784c0fcf33a.jpg

     下面用牛顿迭代法在matlib解出方程\(x^2+2xe^x+e^{2x}=0\)的根,首先画出函数的图像,猜测根的大致位置。

函数图像如下图所示:

image

近似结果:

image

x=-1:0.01:1;
y= x.^2+2*x.*exp(x)+exp(2*x)
plot(x,y);
grid on;
clc;clear;
%syms x;
%diff(x^2+2*x*exp(x)+exp(2*x),x,1)
%clear;
x=0.0
for i=1:100
    x1=x-(x^2+2*x*exp(x)+exp(2*x))/(2*x + 2*exp(2*x) + 2*exp(x) + 2*x*exp(x))
    if(abs(x1-x)>0.0001)
        x=x1;
    else
        break;
    end
end
i
View Code
相关文章
|
6月前
【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)
【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)
|
6月前
|
算法 测试技术 C++
【数学归纳法 组合数学】容斥原理
【数学归纳法 组合数学】容斥原理
|
6月前
|
存储 算法 Serverless
C++中求根号
C++中求根号
1767 0
(公式)用欧拉公式推导三角函数恒等式
(公式)用欧拉公式推导三角函数恒等式
241 0
(公式)用欧拉公式推导三角函数恒等式
雅克比迭代法求解线性方程组
雅克比迭代法求解线性方程组
120 0
|
存储 算法 图计算
数学知识:容斥原理
复习acwing算法基础课的内容,本篇为讲解数学知识:容斥原理,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。
139 0
数学知识:容斥原理
每日一题1021:迭代法求平方根
题目描述: 用迭代法求 平方根 公式:求a的平方根的迭代公式为: X[n+1]=(X[n]+a/X[n])/2 要求前后两次求出的差的绝对值少于0.00001。 输出保留3位小数
163 0
|
算法
数学知识:求组合数(二)
复习acwing算法基础课的内容,本篇为讲解数学知识:求组合数,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。
130 0
数学知识:求组合数(二)
|
算法
数学知识:求组合数(三)
复习acwing算法基础课的内容,本篇为讲解数学知识:求组合数,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。
124 0
数学知识:求组合数(三)
|
算法
数学知识:求组合数(一)
复习acwing算法基础课的内容,本篇为讲解数学知识:求组合数,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。
145 0
数学知识:求组合数(一)