算法之【牛顿迭代法】

简介: 众所周知,计算机的基本数值算法是加减乘除,甚至只是加减法。而次方和开根算法都是由四则运算混合表示而成的,因而根号计算比四则运算要慢很多。无理数如√2的浮点数计算就是由牛顿迭代法得出的。

众所周知,计算机的基本数值算法是加减乘除,甚至只是加减法。而次方和开根算法都是由四则运算混合表示而成的,因而根号计算比四则运算要慢很多。无理数如√2的浮点数计算就是由牛顿迭代法得出的。牛顿迭代法是一种用于计算曲线方程根的精确算法(尤其是幂函数方程),比二分法更加高效,因为它基于微分。

As we all know, basic numerical calculation in the computer is: addition, subtraction, multiplication and division.

Or even only the addition and subtraction. But the power and root algorithm is a complex combination of the four fundamental operations, so they are much slower. Irrational numbers such as √2 whose floating point is obtained by the Newton-Raphson method. Newton-Raphson method is a precise algorithm used to calculate the curvilinear equation (especiallypower function), it’s more efficient than Dichotomy because it is based on the differential.

以计算√x(精度e)为例的c语言函数:

A example using C language calculating √x with precision ’e’:

double abs_value(double x)

{

 if(x<0)x=-x;

 return x;

}

double sqrt_root(double x,double e)

{

 double x0=1;

 while(abs_value(x0*x0-x)>e)

X0=(x0+x/x0)/2;

 return x0;

}


目录
相关文章
|
1月前
|
存储 缓存 算法
【数据结构与算法】【小白也能学的数据结构与算法】递归 分治 迭代 动态规划 无从下手?一文通!!!
【数据结构与算法】【小白也能学的数据结构与算法】递归 分治 迭代 动态规划 无从下手?一文通!!!
|
10天前
|
缓存 算法 Python
python算法对音频信号处理Sonification :Gauss-Seidel迭代算法
python算法对音频信号处理Sonification :Gauss-Seidel迭代算法
|
1月前
|
算法
递归算法和迭代算法有什么不同
递归算法和迭代算法有什么不同
10 1
|
1月前
|
存储 算法 搜索推荐
【数据结构与算法】【初学者也能学的数据结构与算法】迭代算法专题
【数据结构与算法】【初学者也能学的数据结构与算法】迭代算法专题
|
4月前
|
机器学习/深度学习 分布式计算 并行计算
【MATLAB】数据拟合第11期-基于粒子群迭代的拟合算法
【MATLAB】数据拟合第11期-基于粒子群迭代的拟合算法
67 0
|
8月前
|
存储 算法 索引
算法训练Day15|理论基础● 递归遍历 ● 迭代遍历● 统一迭代
算法训练Day15|理论基础● 递归遍历 ● 迭代遍历● 统一迭代
|
9月前
|
算法
粒子群算法的迭代寻优算法(Matlab代码实现)
粒子群算法的迭代寻优算法(Matlab代码实现)
|
9月前
|
存储 编解码 算法
使用迭代最近点算法组合多个点云以重建三维场景
使用迭代最近点算法组合多个点云以重建三维场景。
199 0
|
9月前
|
算法 C语言
【C语言】带你玩转递归,迭代算法2
【C语言】带你玩转递归,迭代算法
67 0
|
9月前
|
算法 程序员 C语言
【C语言】带你玩转递归,迭代算法1
【C语言】带你玩转递归,迭代算法
42 0