Newton牛顿法(一)| 基本思想+迭代公式

article/2025/9/14 21:08:46

基本思想与迭代公式

通常对已知方程 f ( x ) = 0 f(x)=0 f(x)=0进行变形而构造的迭代函数 φ ( x ) \varphi(x) φ(x)不是惟一的。在实际作用中,如果希望迭代函数 φ ( x ) \varphi(x) φ(x)有一种固定格式的构造方法,就可以采用Newton迭代法。

Newton迭代法的基本思想是:设法将一个非线性方程 f ( x ) = 0 f(x)=0 f(x)=0转化为某种线性方程求解,其解决问题的基础是Taylor(泰勒)多项式。具体描述如下:

f ( x ) = 0 f(x)=0 f(x)=0的近似根为 x k x_k xk,则函数 f ( x ) f(x) f(x)在点 x k x_k xk附近可用一阶Taylor多项式 p 1 ( x ) p_1(x) p1(x)来近似,即:
p ( x ) = f ( x k ) + f ′ ( x k ) ( x − x k ) ≅ f ( x ) p_(x)=f(x_k)+f'(x_k)(x-x_k) \cong f(x) p(x)=f(xk)+f(xk)(xxk)f(x)
从而得到线性方程:
f ( x k ) + f ′ ( x k ) ( x − x k ) = 0 f(x_k)+f'(x_k)(x-x_k)=0 f(xk)+f(xk)(xxk)=0
解之,得该线性方程的根 x x x,但它是 f ( x ) = 0 f(x)=0 f(x)=0的一个新近似根,记做 x k + 1 x_{k+1} xk+1,即:
x k + 1 = x k − f ( x k ) f ′ ( x k ) x_{k+1}=x_k-\frac{f(x_k)}{f'(x_k)} xk+1=xkf(xk)f(xk)
上式实质上就是一种迭代格式,称为Newton迭代格式。相应地,Newton迭代函数为:
φ ( x ) = x − f ( x ) f ′ ( x ) (1) \varphi(x)=x-\frac{f(x)}{f'(x)} \tag{1} φ(x)=xf(x)f(x)(1)
于是,按(1)式构造迭代函数解方程 f ( x ) = 0 f(x)=0 f(x)=0的方法,就是Newton迭代法。

Newton迭代法的几何解释如下图所示。方程 f ( x ) = 0 f(x)=0 f(x)=0的根 x ∗ x^* x y = f ( x ) y=f(x) y=f(x) y = 0 y=0 y=0(即x轴)的交点。设 x k x_k xk x ∗ x^* x的某个初始近似值,过 p k p_k pk ( x k , f ( x k ) ) (x_k,f(x_k)) (xk,f(xk)) y = f ( x ) y=f(x) y=f(x)的切线交x轴于 x k + 1 x_{k+1} xk+1,即为所求得的近似值。继续过 p k + 1 p_{k+1} pk+1 ( x k + 1 , f ( x k + 1 ) ) (x_{k+1},f(x_{k+1})) (xk+1,f(xk+1)) p k + 2 p_{k+2} pk+2 ( x k + 2 , f ( x k + 2 ) ) , ⋯ (x_{k+2},f(x_{k+2})),\cdots (xk+2,f(xk+2)),,作 y = f ( x ) y=f(x) y=f(x)的切线,即可逐步逼近精确的根 x ∗ x^* x。因此,Newton法也叫切线法,因为它是沿着曲线 y = f ( ) x y=f()x y=f()x上某一点作切线逐步外推逼近的。从 p k p_k pk点作切线与x轴的交点 x k + 1 x_{k+1} xk+1,由于 y = f ( x ) y=f(x) y=f(x)不是直线,所以 f ( x k + 1 ) f(x_{k+1}) f(xk+1)就不可能为零。因此必须以 x k + 1 x_{k+1} xk+1作为新的起点,从与之对应的 p k + 1 p_{k+1} pk+1点继续作切线,重复上述步骤,直至 f ( x k + 1 ) f(x_{k+1}) f(xk+1)充分小,逼近零时为止。

例1:用Newton迭代法求方程 x e x − 1 = 0 xe^x-1=0 xex1=0的根。

:方程可改写为 x = e − x x=e^{-x} x=ex,即 f ( x ) = x − e − x = 0 f(x)=x-e^{-x}=0 f(x)=xex=0,此方程的Newton迭代格式为:
x k + 1 = x k − x k − e − x k 1 + e − x k = x k − x k − e − x k 1 + x k x_{k+1}=x_k-\frac{x_k-e^{-x_k}}{1+e^{-x_k}}=x_k-\frac{x_k-e^{-x_k}}{1+x_k} xk+1=xk1+exkxkexk=xk1+xkxkexk
取迭代初值为 x 0 = 0.5 x_0=0.5 x0=0.5,逐次迭代结果为 x 1 = 0.57102 , x 2 = 0.56716 ; x 3 = 0.56714 ; x 4 = 0.56714 x_1=0.57102,x_2=0.56716;x_3=0.56714;x_4=0.56714 x1=0.57102,x2=0.56716;x3=0.56714;x4=0.56714。由此可见,迭代4次即达到了 ∣ x 4 − x 3 ∣ ≤ 0.000005 |x_4-x_3|\leq 0.000005 x4x30.000005的要求,收敛速度是很快的。

例2:推导立方根的Newton迭代公式,并求 a = 155 a=155 a=155的立方根。

解:该问题等价于求 f ( x ) = x 3 − a f(x)=x^3-a f(x)=x3a的零点,即解方程:
f ( x ) = x 3 − a = 0 f(x)=x^3-a=0 f(x)=x3a=0
运用Newton迭代公式,有:
x k + 1 = x k − f ( x k ) f ′ ( x k ) = x k − x k 3 − a 3 x k 2 = 2 3 x k − a 3 x k 2 x_{k+1}=x_k-\frac{f(x_k)}{f'(x_k)}=x_k-\frac{x_k^3-a}{3x_k^2}=\frac{2}{3}x_k-\frac{a}{3x_k^2} xk+1=xkf(xk)f(xk)=xk3xk2xk3a=32xk3xk2a
a = 155 , x 0 = 5 a=155,x_0=5 a=155,x0=5,迭代计算结果为:

n0123
x55.45.3718345.371686

仅迭代3步就求得精确解。再使用较差一些的初值 x 0 = 10 x_0=10 x0=10,则迭代计算结果为:

n012345
x107.1833345.7901765.4012035.3718475.371686

迭代5步之后得到精确值。

使用Newton法求方程的根,在什么条件下、选取什么样的初始值 x 0 x_0 x0,才能保证迭代过程总是收敛于方程的根的根 x ∗ x^* x呢?这是运用Newton法求方程根的重要问题。


http://chatgpt.dhexx.cn/article/BXGC2xaX.shtml

相关文章

理解牛顿法

原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不能用于商业目的。 其它机器学习、深度学习算法的全面系统讲解可以阅读《机器学习-原理、算法与应用》,清华大学出版社,雷明著,由SIGAI公众号作者倾力打造。 书的购买链接书的勘误,优化,源代码资源导言 …

机器学习——牛顿法详解

我们现在学习的机器学习算法,大部分算法的本质都是建立优化模型,通过特定的最优化算法对目标函数(或损失函数)进行优化,通过训练集和测试集选择出最好的模型,所以,选择合适的最优化算法是非常重…

牛顿法的简单介绍及Matlab实现

目录 牛顿法原理简介使用牛顿法求解一元方程使用牛顿法求解平面定位问题参考文献 牛顿法原理简介 牛顿法的原理是利用函数 f ( x ) f(x) f(x) 的泰勒级数的前几项来寻找方程 f ( x ) 0 f(x)0 f(x)0 的根。 f ( x ) f(x) f(x)在 x 0 x_0 x0​处的一阶泰勒展开 f ( x ) f ( x…

牛顿法介绍

目录 牛顿法介绍推导海森矩阵、泰勒公式、梯度下降法牛顿法特点 牛顿法介绍 首先牛顿法是求解函数值为0时的自变量取值的方法。如果你看不懂这句没关系,继续往下看就好。利用牛顿法求解目标函数的最小值其实是转化成求使目标函数的一阶导为0的参数值。这一转换的理…

牛顿法,障碍法,内点法

基于对数障碍函数法的内点法 牛顿法(Newton Method)对数障碍函数方法一个简单的例子python代码 牛顿法(Newton Method) 牛顿法与梯度下降法,最速下降法等优化算法类似,是基于梯度的方法。给定一个二次可微的…

牛顿法python 实现

有用请点赞,没用请差评。 欢迎分享本文,转载请保留出处。 牛顿法也是求解无约束最优化问题的常用方法,有收敛速度快的优点。牛顿法是迭代算法,每一步需要求解目标函数的海赛矩阵的逆矩阵。同时还有拟牛顿法、阻尼牛顿法、修正牛顿…

牛顿法及牛顿法求解优化问题

牛顿法及牛顿法求解优化问题 牛顿法 1. 由来和基本思想 牛顿法也叫牛顿迭代法和牛顿-拉夫森法 1. 牛顿迭代法:因为牛顿法的是通过迭代来实现的,每次运算都让结果比之前好一点。哪怕只好一点点,在很多次迭代之后也可以得到一个很好的结果甚…

最优化-牛顿法(Newton)

转:https://blog.csdn.net/qq_36330643/article/details/78003952 平时经常看到牛顿法怎样怎样,一直不得要领,今天下午查了一下维基百科,写写我的认识,很多地方是直观理解,并没有严谨的证明。在我看来&…

高斯牛顿法详解

一、高斯牛顿法发展历程 1、从上倒下为高斯牛顿法的前世今生已经未来的演化: 最速下降法(一阶梯度法) 牛顿法(二阶梯度法) 高斯牛顿法 列文伯格法 马夸尔特法 二、问题的引出 1、考虑如下优化目标函数:…

牛顿法,高斯-牛顿法

牛顿法(Newton’s method) 假如已知函数 f ( x ) f(x) f(x),想要求 f ( x ) 0 f(x)0 f(x)0 的解(或者叫根)。 牛顿法(Newton’s method)大致的思想是: (1&#xff0…

优化算法——牛顿法(Newton Method)

一、牛顿法概述 除了前面说的梯度下降法,牛顿法也是机器学习中用的比较多的一种优化算法。牛顿法的基本思想是利用迭代点 处的一阶导数(梯度)和二阶导数(Hessen矩阵)对目标函数进行二次函数近似,然后把二次模型的极小点作为新的迭代点,并不断…

牛顿法(Newton‘s method)求函数极小值

牛顿法一般指牛顿迭代法,也叫做牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),其最初的作用是用来求解函数的零点,但是也可以像梯度下降方法一样,以迭代的形式来求函数的极值。而事实上,牛顿…

牛顿法(Newton Method)的原理和实现步骤

牛顿法的法的目的 牛顿法不仅可以用来求解函数的极值问题,还可以用来求解方程的根,二者在本质上是一个问题,因为求解函数极值的思路是寻找导数为0的点,这就是求解方程。 牛顿法的法的原理 一元函数的情况 根据一元函数的泰勒展…

牛顿法

《牛顿法》   牛顿法(Newton method)和拟牛顿法(quasi Newton method)是求解无约束最优化问题的常用方法,有收敛速度快的优点。牛顿法是迭代算法,每一步都需求解目标函数的海塞矩阵(Hessian …

使用Andriod Device Moniter时用正则表达式筛选指定日志

有时候我们想过滤出指定的一个或者几个日志,又或者屏蔽掉一些无意义的日志,那么可以创建一个筛选,在此页面的by Log Tag填写如下格式的表达式: 过滤出指定tag的日志信息:^(?:tag1|tag2|tag3) 忽略指定tag的日志信息…

使用Memberane Moniter监控HTTP SOAP requests

Memberane Moniter 使用方法见左侧Documentation 此工具可以监控到每一次发生在指定端口的http请求或者soap请求,如图所示。 但是个人认为仍然有几个问题: 1.不能真正的监控8080端口,我个人认为他的原理是类似于复制了一遍8080端口的内容&am…

linux( sudo bmon ) 流量监控工具----类似于 moniter interface

sudo bmon monitor bandwidth interface eth0 &#xff08;vyos 把 bmon 的linux 改为 了 moniter interface 了&#xff0c;底层还是调用的 bmon&#xff09; Linux:~$ sudo bmon -h bmon 3.5 Copyright (C) 2001-2013 by Thomas Graf <tgrafsuug.ch> Copyright (C) 2…

Android Device Moniter部分问题的解决办法:

一、Android Device Moniter中File explorer显示空白的问题不显示内容&#xff1a; 解决办法&#xff1a; 如上图所示 1.Tools->Android->Enable ADB Integration处于关闭状态。 2.重新打开Android Device Moniter。 3.若还处于空白状态&#xff0c;则极有可能是ja…

操作系统锁的实现方法有哪几种_深入理解多线程(四)——Moniter的实现原理...

本文是《深入理解多线程系列文章》的第四篇。点击查看原文&#xff0c;阅读该系列所有文章。 在深入理解多线程(一)——Synchronized的实现原理中介绍过关于Synchronize的实现原理&#xff0c;无论是同步方法还是同步代码块&#xff0c;无论是ACC_SYNCHRONIZED还是monitorenter…

操作系统锁的实现方法有哪几种_深入理解多线程(四)—— Moniter的实现原理

文章来源&#xff1a;深入理解多线程&#xff08;四&#xff09;—— Moniter的实现原理 原文作者&#xff1a;Hollis 来源平台&#xff1a;微信公众号 在深入理解多线程&#xff08;一&#xff09;——Synchronized的实现原理 中介绍过关于Synchronize的实现原理&#xff0c;无…