牛顿迭代法求解平方根
来源:互联网 发布:php zrem 编辑:程序博客网 时间:2024/05/16 01:33
- 一个实例
- 迭代简介
- 牛顿迭代法
- 牛顿迭代法简介
- 简单推导
- 泰勒公式推导
- 延伸与应用
一个实例
//java实现的sqrt类和方法public class sqrt { public static double sqrt(double n) { if (n<0) return Double.NaN; double err = 1e-15; double t = n; while (Math.abs(t - n/t) > err*t) t = (n/t + t)/2; return t; } public static void main(String[] args) { sqrt a = new sqrt(); System.out.println(a.sqrt(2)); }}//2的平方根的求解结果>>1.414213562373095
迭代简介
迭代,是一种数值方法,具体指从一个初始值,一步步地通过迭代过程,逐步逼近真实值的方法。
与之相对的是直接法,也就是通过构建解析解,一步求出问题的方法。
通常情况下,我们总是喜欢一步得到问题的结果,因此直接法总是优先考虑的。
但是,当遇到复杂的问题时,特别在未知量很多,方程非线性时,无法得到直接解法(例如五次方程并没有解析解)。
这时候,我们需要使用迭代算法,一步步逼近,得到问题的答案。
迭代算法,通常需要考虑如下问题:
- 确定迭代变量
- 确定迭代关系式
- 确定迭代终止条件
牛顿迭代法
牛顿迭代法简介
牛顿迭代法,求解如下问题的根
求解方法如下:
方法中,迭代变量是根
牛顿迭代法需要满足的条件是:
那么,在零点
并且,如果
简单推导
由
有
对于平方根问题,假设
其图像含义是:通过对接近零点的领域点做切线,不断逼近零点,最终十分靠近零点。
泰勒公式推导
上面的式子,同样,可以用泰勒公式推导出来。
只取等号右边的前两项,有
两边同时加上
最终,
本质上,牛顿迭代法就是利用了泰勒公式的前两项和,是泰勒公式的简化。
延伸与应用
同样的,牛顿迭代法同样可以求n次方根,对于
有
0 0
- 牛顿迭代法求解平方根
- 牛顿迭代法求解平方根
- 牛顿迭代法求解——平方根
- 牛顿迭代法计算平方根
- 牛顿迭代法求平方根
- 牛顿迭代法求平方根
- 牛顿迭代法求平方根
- 牛顿迭代法求平方根
- 牛顿迭代法求平方根
- 牛顿迭代法求平方根
- 牛顿迭代法求平方根
- 牛顿迭代法求平方根
- 牛顿迭代法求平方根
- 牛顿迭代法快速寻找平方根
- 利用牛顿迭代法求平方根
- 牛顿迭代法快速寻找平方根
- 利用牛顿迭代法求平方根
- 利用牛顿迭代法求平方根 .
- leetcode: Isomorphic Strings
- poj 1466(二分图匹配)
- [Objective-C]消息机制工作原理
- hdoj1102_Constructing Roads(最小生成树)
- 211Add and Search Word - Data structure design
- 牛顿迭代法求解平方根
- java io 收集&整理
- Eclipse调整字体大小与自动补全
- sh 脚本重启tomcat
- 【Android】系统上的键盘监控
- Java桥模式(Bridge模式)
- 管理多类型标记变量的方法
- flash无法找到类接口和图片失真问题。
- html css学习笔记-对齐 尺寸 分类