牛顿迭代公式(详细)

article/2025/9/19 20:21:32

牛顿迭代公式 X n + 1 = X n − f ( x ) f ′ ( x ) X_{n+1} = X_n -\frac{f(x)}{f'(x)} Xn+1=Xnf(x)f(x)

上网搜了很久,搞懂了一点,简单记录一下

其实弄懂了一点后会发现它并不是很高大上😅

.

先来一段代码

求9的平方根,java实现

public static void main(String[] args) {double t = 9;while (Math.abs(t-9.0/t)>.001)//牛顿迭代公式 ↓t = (9.0/t + t) /2.0; // (a/xn + xn) / 2.0 System.out.println(t);}//

运行结果
3.00009155413138

牛顿迭代公式求平方根并不能算出准确的值,只能无限接近.这里精确度还不是很高,一般情况下是够用了,如果需要更精确,改一下while条件即可.

下面来说一下牛顿迭代公式的原理

牛顿法最初由艾萨克·牛顿在《流数法》(Method of Fluxions,1671年完成,在牛顿去世后于1736年公开发表)中提出。约瑟夫·鲍易也曾于1690年在Analysis Aequationum中提出此方法。

11

求导

  • 首先,我们知道要对哪个数开方,比如现在我们要求出 9 2 \sqrt[2 ]{9 } 29 ,那么可以写出 x 2 − 9 = 0 x^2-9=0 x29=0,这一步我想应该没有人看不懂.

    • . . . . . . . . . . . . f ( x ) = x 2 − 9 f(x) = x^2-9 f(x)=x29 . . . . . .
      .

切线

  • 然后画出它的二维图形,并作出点 ( 9 , f ( 9 ) ) (9,f(9)) (9,f(9))处的切线,切线方程可以表示为
    .
    • . . . . . . . . . . . . y − f ( 9 ) = f ′ ( 9 ) ∗ ( x − 9 ) y-f(9)=f'(9)*(x-9) yf(9)=f(9)(x9) . . . . . 切线方程
    • . . . . . . . . . . . . x = y − f ( 9 ) f ′ ( 9 ) + 9 x= \frac{y-f(9)}{f'(9)}+9 x=f(9)yf(9)+9
      . . . . . . . . . . . . 当 y = 0 y=0 y=0时,. . . . . . 我们求到了 x = 5 x=5 x=5
      这样就朝着结果近了一步
  • 我们的目标 9 \sqrt{9} 9 的解为3,切线与x轴的交点为5,显然不是答案,我们还得继续做点 ( 5 , f ( 5 ) ) (5,f(5)) (5,f(5))的切线

再切

又近了一步耶

  • . . . . . . . . . . . . y − f ( 5 ) = f ′ ( 5 ) ∗ ( x − 5 ) y-f(5)=f'(5)*(x-5) yf(5)=f(5)(x5) . . . . . .切线方程
  • . . . . . . . . . . . . x = y − f ( 5 ) f ′ ( 5 ) + 5 x=\frac{y-f(5)}{f'(5)}+5 x=f(5)yf(5)+5
  • . . . . . . . . . . . . 同样,当 y = 0 y=0 y=0 时, x = 3. ∗ x=3.* x=3., . . . . . .还得继续…

继续切

1

已经很接近了.,就不继续切线了,

1

回顾一下,

f ( x ) = x 2 − a f(x) = x^2 - a f(x)=x2a
f ′ ( x ) = 2 x f'(x) = 2x f(x)=2x
x n + 1 = y − f ( x n ) f ′ ( x n ) + x n x_{n+1} = \frac{y-f(x_n)}{f'(x_n)}+x_n xn+1=f(xn)yf(xn)+xn ,

y = 0 y = 0 y=0 时,

X n + 1 = − f ( x ) f ′ ( x ) + x n X_{n+1} =-\frac{f(x)}{f'(x)} +x_n Xn+1=f(x)f(x)+xn . . . . . . . . . . . . . . . .牛顿迭代公式

化简一下
X n + 1 = − x n 2 − a 2 x n + x n X_{n+1}=-\frac{x_n^2-a}{2x_n}+x_n Xn+1=2xnxn2a+xn

最后得到
X n + 1 = ( a x n + x n ) ∗ 1 2 X_{n+1}=(\frac{a}{x_n}+x_n)*\frac{1}{2} Xn+1=(xna+xn)21

以上就是牛顿迭代求平方根的过程了😅

写成java代码上面的样子
//

//

//

.总结一下:

  1. f ( x ) f(x) f(x)求导,
  2. k = f ′ ( x ) k=f'(x) k=f(x)切线,
  3. 求出 y = 0 y=0 y=0时的 x x x的值, 赋值 x 1 x_1 x1
  4. k = f ′ ( x 1 ) k=f'(x_1) k=f(x1)切线
  5. 求出 y = 0 y=0 y=0时的 x 1 x_1 x1的值,赋值 x 2 x_2 x2
  6. k = f ′ ( x 2 ) k=f'(x_2) k=f(x2)切线

.

参考:
这个动态图易懂
维基百科-牛顿法

.
.
.
.


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

相关文章

牛顿-莱布尼茨公式

牛顿-莱布尼兹公式(Newton-Leibniz formula),通常也被称为微积分基本定理,揭示了定积分与被积函数的原函数或者不定积分之间的联系。 牛顿-莱布尼茨公式的内容是一个连续函数在区间 [ a,b ] 上的定积分等于它的任意一个…

python语言培训是密封式的吗

述(最多18字 以下试题内容来源由-众课帮-公众号和小程序提供 可查询更多的试题答案新鲜尿液有氨臭味 变异性心绞痛患者首选药物是 A_______ofdependenceonGMOseedsandchemicalfertilizers,pesticides(杀虫剂),andherbicides(除草剂)isthencre…

【业界分享】字节跳动如何用 7 年,成为腾讯最可怕的对手?张一鸣一语道破...

点击上方,选择星标或置顶,每天给你送干货! 阅读大概需要16分钟 跟随小博主,每天进步一丢丢 转载自公众号:开发者技术前线 2019 年,字节跳动被预估广告收入可达 1000 亿元。 说到互联网巨头,很多…

VR旅游应用案例解析,世界那么大用VR去看看!

中国旅游研究院(文化和旅游部数据中心)发布“2019年上半年全国旅游经济运行情况”中显示上半年旅游经济平稳运行,预计国内旅游人数30.8亿人次,国内旅游收入2.78万亿元,同比分别增长8.8%和13.5%。由相关数据显示,旅游消费如今已经成为民众的一个重要生活方式。 同时为了不断…

从虚机到容器,秒拍架构师告诉你如何平滑进行业务迁移

近期,炫一下(北京)科技有限公司(简称“一下科技”)短视频产品“秒拍”完成了一个“大动作”——将原来部署在虚拟机上的主体业务迁移到华为云,同时将公司的技术体系承载在下一代虚拟技术容器(Do…

git中如何取消忽略文件

问题现象描述: 在每天的git-----pull时,操作失败。报文件冲突的异常。而该冲突文件却是自己已被忽略的文件,在网上通用的在.gitignore文件中取消忽略的办法无法实现,因为.gitignore文件中根本没有哪行命令是决定该文件的忽略操作…

git忽略文件不生效问题解决

git忽略文件不生效问题解决 文章目录 git忽略文件不生效问题解决**一 .gitignore添加了忽略文件,但是提交时还会出现这些忽略文件** 一 .gitignore添加了忽略文件,但是提交时还会出现这些忽略文件 —在gitignore中忽略了.idea文件夹,但是提交时仍旧会出…

git如何忽略一个文件

1.1 添加.gitignore文件 在.gitignore文件中指定的目录和文件会在下次push时从git仓库中删除,本地文件不会删除。 创建.gitignore文件,这个文件不仅能创建在根目录,而且也能在子目录下创建,个数不限。若多个.gitignore文件中有…

git忽略文件的两种方式

目录 前言 一、忽略并且push到远程 二、忽略本地,不提交 2.1、忽略本地文件 2.2、取消忽略,恢复提交 2.2.1、查看有哪些文件被忽略 2.2.2、 取消忽略 前言 本文不讲述.gitignore文件的设置。 关键字:git update-index --no-assume-un…

IDEA设置GIT忽略文件提交

情景一:从未提交过的文件 我们是项目组长,组内员工总是会误把本地的一些文件提交上git,以下以target目录为例,我们过滤这个文件夹的所有内容不允许提交 一、在项目根目录下新建.gitignore文件,内容如下 target/ # Package Files # *.jar *.war *.nar *.ear *.zip *.tar.…

【git】git忽略文件 取消忽略文件

【git】git忽略文件 取消忽略文件 一、git忽略文件 (一)通常操作 忽略成功后会出现灰色图标 git根目录下有一个.gitignore文件,被忽略的文件全部会添加到里面 相关过滤规则举例说明: #:注释符号,自动被…

git提交忽略不必要的文件或文件夹

创建maven项目,使用git提交,有时需要忽略不必要的文件或文件夹,只保留一些基本。 例如如下截图,实际开发中我们只需提交:src,.gitignore,pom.xml 而自己项目文件一般都保留,但是有些则不必要提交&#xff0…

【git】Git-忽略某些文件

忽略某些文件 一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。我们可以创建一个名为 .gitignore 的文件,列出要忽略的文…

Git忽略文件的几种方法,以及.gitignore文件的忽略规则

Git忽略文件的几种方法,以及.gitignore文件的忽略规则 .gitignore文件定义Git全局的.gitignore文件Git 忽略规则Git忽略规则的优先级.gitignore文件忽略规则常用匹配示例: 关于.gitignore规则不生效的问题 不忽略没有后缀名的文件搜索电脑里没有后缀的文…

idea设置git忽略文件

idea设置git忽略文件 根据项目忽略一.老版IDEA配置忽略文件:二. 新版IDEA配置忽略文件:特别提醒 根据分支忽略 根据项目忽略 一.老版IDEA配置忽略文件: 该方法是针对当前电脑的设置,无关项目,无关分支; 步…

git如何忽略文件或者文件夹

用git开发中会有一些不愿意提交的目录或者文件 在仓库目录下新建一个名为.gitignore的文件(因为是点开头,没有文件名,没办法直接在windows目录下直接创建,必须通过右键Git Bash,按照linux的方式来新建.gitignore文件&…

git忽略指定文件

有时候会习惯的使用命令 git add . 直接提交代码,这样的话,会不小心把一些不需要提交的文件提交上去,比如编译文件等。 这个时候使用git自带的忽略文件就很好用。具体方法如下: 可以在文件列表建立一个.gitignore 命名的文件&am…

Git操作 --忽略文件

目录 一、.gitignore二、使用1.pycharm中的使用2. 手动创建 .gitignore 文件3. 语法 一、.gitignore 这个忽略文件只对某一级目录下的文件的忽略有效。如果某一个目录下有需要被忽略的文件,那么就可以在该目录下手工地创建忽略文件 .gitignore,并在这个…

scratch学习1 积木区+程序区

step1:进入scratch以后,第一步是对语言进行修改:点击左上方地球图案,下拉到最下方,就出现简体中文。 step2:认识积木区程序区 step3:选择了一些积木 step4:不说多了,直接…

少儿编程Scratch学习教程--Scratch3.0界面简介

对比一下Scratch2.0,我们简单介绍下Scratch3.0的界面。 先看下2.0的界面。 再看下3.0的界面。 最后我们看下3.0主要的改变点。 1、主界面布局被改变了,新版本代码块区域更清晰了。 2、扩展按钮被安排在左下角了,可以增加更多外接硬件设备和…