关键词:牛顿法、牛顿迭代法、牛顿切线法、牛顿-拉弗森方法

参考:牛顿迭代法-百度百科牛顿切线法-百度文库数学学院牛顿切线法数值分析非线性方程(组)的数值解法Latex入门

https://blog.csdn.net/ccnt_2012/article/details/81837154

一、牛顿切线法基本思想

背景

多数方程不存在求根公式(参考:伽罗瓦理论一元五次方程求根公式),因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。方法使用函数的泰勒级数的前面几项来寻找方程的根。牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根,此时线性收敛,但是可通过一些方法变成超线性收敛。

思路

将非线性方程线性化

设$x_{k}$是$f(x)=0$的近似根,将$f(x)$在$x_{k}$附近用一阶Tylor多项式近似(带皮亚诺余项):

$$ \begin{align*} f(x)&=f(x_{k})+f'(x_{k})(x-x_{k})+\frac{2f''(ξ)}{2!}(x-x_{k}) \\ &≈f(x_{k})+f'(x_{k})(x-x_{k})+P(x) \end{align*} $$

令$ P(x)=0 $,当$ f'(x)≠0 $时有意义,可用线性方程近似代替

$ f(x)=f(x_{k})+f'(x_{k})(x-f(x_{k})) $

令$ f(x)=0 $,解此线性的方程得:

$x_{k+1} = x_{k}-\frac{f(x_{k})}{f'(x_{k})}$    

此式即为牛顿迭代公式。

二、牛顿法的几何意义

设一个一元方程:

$$ y = f(x) $$

由图中可看出:

$f(x)=0$ 的根,就是曲线与x轴的交点的横坐标x*。

在曲线上任取一点$(x_{0},f(x_{0}))$,过该点做曲线的切线,其斜率为$f'(x_{0})$,由直线方程$y-y_{0}=k(x-x_{0})$,得到过该点的切线方程:

$$ y=f(x_{0})+f'(x_{0})(x-x_{0}) $$

令$ y=0 $,即$f(x_{0})+f'(x_{0})(x-x_{0}) = 0$,得到该切线与x轴交点的横坐标:

$$ x=x_{0}-\frac{f(x_{0})}{f'(x_{0})} $$

一次迭代后,$ x1=x_{0}-\frac{f(x_{0})}{f'(x_{0})} $

过点$ (x1,f(x1)) $再做曲线的切线,重复以上步骤,切线与x轴交点的横坐标就越来越接近$x^*$。

设$x_{n}$是$x^*$的第$n$次近似值,过$(x_{n},f(x_{n}))$做曲线$y=f(x)$的切线,切线与x轴交点的横坐标为:

$$ x_{n+1} = x_{n}-\frac{f(x_{n})}{f'(x_{n})} $$

因此牛顿法也称牛顿切线法。

三、收敛性与收敛速度

四、应用

1.牛顿迭代法快速寻找平方根

构造方程$f(x)=x^2-n$

牛顿迭代法(Newton's method)的更多相关文章

  1. 牛顿迭代法(Newton's Method)

    牛顿迭代法(Newton's Method) 简介 牛顿迭代法(简称牛顿法)由英国著名的数学家牛顿爵士最早提出.但是,这一方法在牛顿生前并未公开发表. 牛顿法的作用是使用迭代的方法来求解函数方程的根. ...

  2. 牛顿迭代法(Newton's Method)

    牛顿迭代法(Newton's Method) 简介 牛顿迭代法(简称牛顿法)由英国著名的数学家牛顿爵士最早提出.牛顿法的作用是使用迭代的方法来求解函数方程的根.简单地说,牛顿法就是不断求取切线的过程. ...

  3. 牛顿迭代法(Newton's Method)

    牛顿迭代法(简称牛顿法)由英国著名的数学家牛顿爵士最早提出.可是,这 一方法在牛顿生前并未公开发表(讨厌的数学家们还是鼓捣出来了) 牛顿法的作用是使用迭代的方法来求解函数方程的根. 简单地说,牛顿法就 ...

  4. 牛顿方法(Newton's Method)

    在讲义<线性回归.梯度下降>和<逻辑回归>中我们提到可以用梯度下降或梯度上升的方式求解θ.在本文中将讲解另一种求解θ的方法:牛顿方法(Newton's method). 牛顿方 ...

  5. Atitit 迭代法  “二分法”和“牛顿迭代法 attilax总结

    Atitit 迭代法  "二分法"和"牛顿迭代法 attilax总结 1.1. ."二分法"和"牛顿迭代法"属于近似迭代法1 1. ...

  6. Newton's Method

    在求最优解时,前面很多地方都用梯度下降(Gradient Descent)的方法,但由于最优步长很难确定,可能会出现总是在最优解附近徘徊的情况,致使最优解的搜索过程很缓慢.牛顿法(Newton's M ...

  7. 牛顿法(Newton's Method)

    Newton's Method 在求最优解时,前面很多地方都用梯度下降(Gradient Descent)的方法,但由于最优步长很难确定,可能会出现总是在最优解附近徘徊的情况,致使最优解的搜索过程很缓 ...

  8. Java实现牛顿迭代法求解平方根、立方根

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

  9. 【cs229-Lecture4】Newton’s method

    之前我们在求Logistic回归时,用的是梯度上升算法,也就是要使得似然函数最大化,利用梯度上升算法,不断的迭代.这节课引出牛顿方法,它的作用和梯度上升算法的一样的,不同的是牛顿方法所需的迭代次数更少 ...

随机推荐

  1. idea如何设置注释作者信息

    什么情况下使用? 在建一个新的类的时候   有注释信息  如下图所示 实现步骤 1  打开idea后   点击File后 选择Settings..如下图 2 打开后打开 file and code t ...

  2. .net 分布式架构之分布式锁实现(转)

    分布式锁是控制分布式系统之间同步访问共享资源的一种方式.在分布式系统中,常常需要协调他们的动作.如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防 ...

  3. Linux守护进程编写方法及原理

    什么守护进程? 守护进程是运行在后台的一种用来提供服务的进程,他脱离控制台独立运行,守护进程是一种很有用的进 程. Linux的大多数服务器就是用守护进程实现的.比如,Internet服务器inetd ...

  4. ZOJ3768 Continuous Login 2017-04-14 12:47 45人阅读 评论(0) 收藏

    Continuous Login Time Limit: 2 Seconds      Memory Limit: 131072 KB      Special Judge Pierre is rec ...

  5. SQL -- What Tables Queries are Used to Display the Counts in the Inventory Account Periods form (INVTTGPM.fmb) (Doc ID ID 357997.1)

    Applies to: Oracle Inventory Management - Version 11.5.9 to 12.1.3 [Release 11.5 to 12.1] Informatio ...

  6. Spring AOP 自定义注解获取http接口及WebService接口入参和出参

    注解方法实现过程中可以采用如下获取方式:—以下为例  HttpServletRequest request = ((ServletRequestAttributes) RequestContextHo ...

  7. Windbg and resources leaks in .NET applications 资源汇总

    Windows Forms Leaks 1.http://blogs.msdn.com/b/tess/archive/2008/02/04/net-debugging-demos-informatio ...

  8. kv数据库对比总结

    集群型: hbase Cassandra scylladb redis类: redis + twemproxy codis 持久型: pika ssdb

  9. centos 下wps 与goland 不能输入中文的解决办法

    输入法:CentOS7自带ibus,如果你用的是fcitx请在对应的地方进行修改 系统:CentOS7,这个方案应该适用于大多数Linux发行版本 intelliJ goland中文输入法问题解决 首 ...

  10. Visual Studio Code Angular4 配置环境

    首先在本机安装node.js才能用 npm 命令 环境搭建 安装node.jsnpm install -g @angular/cli 安装第三方库npm install --save bootstra ...