用牛顿-拉弗森法求平方根函数

2024-02-23 19:40

本文主要是介绍用牛顿-拉弗森法求平方根函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基本介绍
牛顿法(英语:Newton’s method)又称为牛顿-拉弗森方法(英语:Newton-Raphson method),它是一种在实数域和复数域上近似求解方程的方法。方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(y)=0的根。

二分法可以求解方根,而使用牛顿迭代法可以更快地解出方根。现在,人们使用的计算器里面大多数都是运用的牛顿迭代法。

原理介绍
假 设 n = x 2 , 现 在 求 n 的 方 根 , 即 x 2 − n = 0 , 把 他 转 换 为 f ( x ) = x 2 − n , 如 上 图 所 示 选 取 x 0 作 为 求 解 方 根 的 初 始 近 似 值 , 过 点 ( x 0 , f ( x 0 ) ) 作 切 线 T , T 的 方 程 为 y = f ( x 0 ) + f ′ ( x 0 ) ( x − x 0 ) 求 出 T 与 x 轴 交 点 的 横 坐 标 x 1 = x 0 − f ( x 0 ) f ′ ( x 0 ) , 称 x 1 为 n 方 根 的 一 次 近 似 值 过 点 ( x 1 , f ( x 1 ) ) 再 作 切 线 , 并 求 得 该 切 线 与 x 轴 交 点 的 横 坐 标 : x 2 = x 1 − f ( x 1 ) f ′ ( x 1 ) 称 x 2 为 n 方 根 的 二 次 近 似 值 。 以 此 类 推 , 得 到 牛 顿 法 的 迭 代 公 式 : x n + 1 = x n − f ( x n ) f ′ ( x n ) ( 注 : f ′ ( x n ) 是 导 数 , 这 里 也 就 是 切 线 的 斜 率 , 数 值 是 2 ∗ x n 猜 测 值 在 经 过 多 次 迭 代 后 会 越 来 越 接 近 曲 线 的 根 , 用 数 学 术 语 来 说 就 是 , 这 个 方 程 式 f ( x ) = 0 在 的 时 候 收 敛 , 故 能 求 得 近 似 n 方 根 的 值 。 牛 顿 法 正 因 为 有 此 明 显 的 几 何 意 义 , 所 以 也 叫 切 线 法 。 假设 n=x^{2} ,现在求n的方根,即x^{2}-n=0,把他转换为f(x)=x^{2}-n,如上图所示\\选取x_{0}作为求解方根的初始近似值,过点\left ( x_{0},f\left ( x_{0} \right ) \right )作切线T,T的方程为 \\y=f\left ( x_{0} \right ) +{f}'\left ( x_{0} \right )\left (x-x_{0} \right ) \\求出T与x轴交点的横坐标x_{1}=x_{0}-\frac{f\left ( x_{0} \right ) }{{f}'\left ( x_{0} \right )},称x_{1}为n方根的一次近似值 \\过点\left ( x_{1},f\left ( x_{1} \right ) \right )再作切线,并求得该切线与x轴交点的横坐标:x_{2}=x_{1}-\frac{f\left ( x_{1} \right ) }{{f}'\left ( x_{1} \right )}\\称x_{2}为n方根的二次近似值。以此类推,得到牛顿法的迭代公式:x_{n+1}=x_{n}-\frac{f\left ( x_{n} \right ) }{{f}'\left ( x_{n} \right )} \\(注:{f}'\left ( x_{n} \right )是导数,这里也就是切线的斜率,数值是2* x_{n}\\ 猜测值在经过多次迭代后会越来越接近曲线的根,用数学术语来说就是,这个方程式 \\f\left ( x \right )=0在的时候收敛,故能求得近似n方根的值。牛顿法正因为有此明显的几何意义,\\所以也叫切线法。 n=x2nx2n=0f(x)=x2nx0(x0,f(x0))线TTy=f(x0)+f(x0)(xx0)Txx1=x0f(x0)f(x0)x1n(x1,f(x1))线线xx2=x1f(x1)f(x1)x2nxn+1=xnf(xn)f(xn)f(xn)线2xn线f(x)=0n线

图示如下
在这里插入图片描述在这里插入图片描述

这篇关于用牛顿-拉弗森法求平方根函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/739716

相关文章

Python内置函数之classmethod函数使用详解

《Python内置函数之classmethod函数使用详解》:本文主要介绍Python内置函数之classmethod函数使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 类方法定义与基本语法2. 类方法 vs 实例方法 vs 静态方法3. 核心特性与用法(1编程客

Python函数作用域示例详解

《Python函数作用域示例详解》本文介绍了Python中的LEGB作用域规则,详细解析了变量查找的四个层级,通过具体代码示例,展示了各层级的变量访问规则和特性,对python函数作用域相关知识感兴趣... 目录一、LEGB 规则二、作用域实例2.1 局部作用域(Local)2.2 闭包作用域(Enclos

MySQL count()聚合函数详解

《MySQLcount()聚合函数详解》MySQL中的COUNT()函数,它是SQL中最常用的聚合函数之一,用于计算表中符合特定条件的行数,本文给大家介绍MySQLcount()聚合函数,感兴趣的朋... 目录核心功能语法形式重要特性与行为如何选择使用哪种形式?总结深入剖析一下 mysql 中的 COUNT

MySQL 中 ROW_NUMBER() 函数最佳实践

《MySQL中ROW_NUMBER()函数最佳实践》MySQL中ROW_NUMBER()函数,作为窗口函数为每行分配唯一连续序号,区别于RANK()和DENSE_RANK(),特别适合分页、去重... 目录mysql 中 ROW_NUMBER() 函数详解一、基础语法二、核心特点三、典型应用场景1. 数据分

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

Python get()函数用法案例详解

《Pythonget()函数用法案例详解》在Python中,get()是字典(dict)类型的内置方法,用于安全地获取字典中指定键对应的值,它的核心作用是避免因访问不存在的键而引发KeyError错... 目录简介基本语法一、用法二、案例:安全访问未知键三、案例:配置参数默认值简介python是一种高级编

python 常见数学公式函数使用详解(最新推荐)

《python常见数学公式函数使用详解(最新推荐)》文章介绍了Python的数学计算工具,涵盖内置函数、math/cmath标准库及numpy/scipy/sympy第三方库,支持从基础算术到复杂数... 目录python 数学公式与函数大全1. 基本数学运算1.1 算术运算1.2 分数与小数2. 数学函数

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

Python中bisect_left 函数实现高效插入与有序列表管理

《Python中bisect_left函数实现高效插入与有序列表管理》Python的bisect_left函数通过二分查找高效定位有序列表插入位置,与bisect_right的区别在于处理重复元素时... 目录一、bisect_left 基本介绍1.1 函数定义1.2 核心功能二、bisect_left 与