Advertisement

牛顿迭代法用于开平方根、泰勒展开式用于计算反正切值及CORDIC算法用于计算基本函数的原理

阅读量:

牛顿迭代法求解开根号

【为计算A的平方根,令其结果为x,则可表示为:

y=x^2-A

对函数进行求导运算

y'=2x

在某一轮迭代过程中

x=x_n

此时对应的函数值为

y_n = x_n^2-A

所追求的目标是使该表达式等于零

y_n = x_n^2-A = 0

由此可推导出下一步迭代值的表达式如下:

x_{n+1} = \frac{0-y_n}{2x_n}+x_n= \frac{A-X_n^2}{2x_n}+x_n = \frac{A}{2x_n}+\frac{x_n}{2}

上述公式中涉及的除以2操作可通过位移运算实现,而 \frac{1}{x_n} 这一项则可以再次采用牛顿迭代法进行计算

y = \frac{1}{x} - B

对上述函数求导可得:

y' = -\frac{1}{x^2}

进而得出下一步迭代的表达式为:

x_{n+1} = \frac{B-\frac{1}{x_n}}{\frac{1}{-x_{n}^2}} + x_n = x_n - Bx_n^2 + x_n = 2x_n - Bx_n^2

全部评论 (0)

还没有任何评论哟~