牛顿迭代公式

article/2025/9/19 19:50:49

问题背景

给定任意一个数x,求其平方根z,平方误差小于0.001。

这个问题直观的去想,我们一般会采取设定一个初始值,然后通过迭代逐渐逼近平方根,但是初始值怎样去迭代才能更快”逼近“成为关键问题,牛顿迭代公式从数学角度给这类问题提供了理论支撑。

Newton迭代公式

对于Newton公式的理论,我们引用百度百科的说明

代码实现

理解了牛顿迭代公式,其实结论就是x_{n+1}=x_{n} - f(x_{n})/f^{'}(x_{n}),这个也是迭代“逼近”的算法。对于我们求平方根的需求,f(z)=z^{^{2}} - x,迭代算法就是:z = z - (z*z - x)/(2*z),但是到底迭代多少次需要我们自己控制,可以控制迭代次数或者达到一定精度后停止迭代。下面给出go的实现:

/*
Newton's method to compute the square root most nearly.
*/
func Sqrt(x float64) float64 {fmt.Println("**********Test - get the square root*********")z := float64(1)for i := 0; math.Abs(z*z - x) > 0.001; i++ {z -= (z*z - x) / (2*z)fmt.Println("iterator order: ", i, ", x: ", z)}return z
}

以200作为输入的结果:

**********Test - get the square root*********
iterator order:  0 , x:  100.5
iterator order:  1 , x:  51.245024875621894
iterator order:  2 , x:  27.573921384195742
iterator order:  3 , x:  17.41357580449592
iterator order:  4 , x:  14.44943381958916
iterator order:  5 , x:  14.145403301286928
iterator order:  6 , x:  14.142136001158033
14.142136001158033

 


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

相关文章

人工智能数学基础---定积分3:微积分基本公式(牛顿-莱布尼茨公式)

一、引言 在《人工智能数学基础—定积分1:定积分的概念以及近似计算》介绍了利用定积分的定义进行定积分的近似计算方法,但这种方式比较复杂,如果被积函数复杂困难更大,那么定积分是否有其他计算方式呢?答案是肯定的&…

二分法求解方程的根java_【数值分析】利用二分法和牛顿公式求解方程的根

1.实验内容 ​分别利用牛顿公式和二分法对某一方程(此实验是以开方公式为准,即x2-c0,在验证时取c115)进行求解。且对两者的求解结果进行比较,比较两者的迭代次数和精度。 分别编写函数Binary(min, max, times)和 Newton(x0, times)实现以上两种方法。实验…

验证牛顿公式的局部收敛性,并找到对于牛顿公式不收敛(发散)的函数,比较二分法与牛顿公式的收敛速度

文末有代码,大家可以自己跑一下,体会一下牛顿法的运算过程 二、实验目的: a.验证牛顿公式的局部收敛性; b.比较二分法与牛顿公式的收敛速度; c.验证求解结果的正确性; 三、实验内容 a.在验证牛顿公式的…

牛顿迭代公式(详细)

牛顿迭代公式 X n 1 X n − f ( x ) f ′ ( x ) X_{n1} X_n -\frac{f(x)}{f(x)} Xn1​Xn​−f′(x)f(x)​ 上网搜了很久,搞懂了一点,简单记录一下 其实弄懂了一点后会发现它并不是很高大上😅 . 先来一段代码 求9的平方根,java实现 public static void main…

牛顿-莱布尼茨公式

牛顿-莱布尼兹公式(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文件&…