借助上述公式,理論上可以求任意次方根,假設要求a(假設非負)的n次方根,則有xn=a,令f(x)=xn-a,則只需求f(x)=0時x的值即可。由上述簡單推導知,當f(x)=0時,xn+1=xn,因此把f(x)=xn-a 代入上述迭代式進行迭代直至xn+1=xn即可。
實際中xn+1=xn可能永遠達不到,可以根據給定精度△,當|xn+1-xn|
下面以算術平方根和立方根舉例。
設待求算術平方根的數為a,其算術平方根為x,則x2=a,令f(x)=x2-a,代入上面的遞推式有xn+1=xn-(xn
2-a)/(2xn),整理得xn+1=(1/2)(xn+a/xn)
**如下:
double sqrt(double同理,令f(x)=x3-a,代入遞推式有xn+1=xn-(xna)
return
x2;}
3-a)/(3xn
2),整理得xn+1=(1/3)(2xn+a/xn
2)**如下:
double cubrt(double順便提下,在網上看到了乙個手動列算式求解任意正整數算術平方根的方法,如下:a)
return
x2;}
牛頓迭代法求n方根
借助上述公式,理論上可以求任意次方根,假設要求a 假設非負 的n次方根,則有xn a,令f x xn a,則只需求f x 0時x的值即可。由上述簡單推導知,當f x 0時,xn 1 xn,因此把f x xn a 代入上述迭代式進行迭代直至xn 1 xn即可。實際中xn 1 xn可能永遠達不到,可以根...
牛頓迭代法求平方根
sqrt 方法 public static double sqrt double c 什麼是牛頓迭代法 多數方程不存在求根公式,牛頓提出了一種用迭代來求方程近似根的方法。思路就是不斷取切線,用線性方程的根逼近非線性方程f x 0的根x 過程簡介 過點 xk,f xk 作函式的切線,切線方程是 切線與...
牛頓迭代法 求平方根
牛頓迭代法 求出根號a的近似值 首先隨便猜乙個近似值x,然後不斷令x等於x和a x的平均數,迭代個六七次後x的值就已經相當精確了。例如,我想求根號2等於多少。假如我猜測的結果為4,雖然錯的離譜,但你可以看到使用牛頓迭代法後這個值很快就趨近於根號2了 這種演算法的原理很簡單,我們僅僅是不斷用 x,f ...