牛顿迭代法求解开根号
求解A的开根号,设值为x,则:
y=x2−Ay=x^2-Ay=x2−A
求导
y′=2xy'=2xy′=2x
某一次迭代
x=xnx=x_nx=xn
yn=xn2−Ay_n = x_n^2-Ayn=xn2−A
目标值
yn=xn2−A=0y_n = x_n^2-A = 0yn=xn2−A=0
xn+1=0−yn2xn+xn=A−Xn22xn+xn=A2xn+xn2x_{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}xn+1=2xn0−yn+xn=2xnA−Xn2+xn=2xnA+2xn
式子中的除2可以通过移位实现,$ \frac{1}{x_n} $再次使用牛顿迭代法
y=1x−By = \frac{1}{x} - By=x1−B
y′=−1x2y' = -\frac{1}{x^2}y′=−x21
xn+1=B−1xn1−xn2+xn=xn−Bxn2+xn=2xn−Bxn2x_{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^2xn+1=−xn21