用牛頓迭代法求浮點數的平方根

2021-05-28 01:21:07 字數 458 閱讀 2717

比如我們要求a的平方根,首先隨便猜乙個近似值x,然後不斷令x等於x和a/x的平均數,迭代幾次後x的值就已經相當精確了。

看下面(假設a=2,我們求2的平方根):

1.先隨便猜個數,比如我猜2的平方根為7

( 7  + 2/7 ) / 2 = 3.64287514

( 3.64287514  + 2/3.64287514 ) / 2 = 2.095946017

......

......

( n+ 2/n) / 2 = 1.414....

下面是**:

#define abs(val) (((val)>0)?(val):(-(val)))   

//用牛頓迭代法求浮點數的平方根

float mysqrt(float x)

return g1;

}

牛頓迭代法求平方根

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 ...

牛頓迭代法求平方根

牛頓迭代法 newton s method 又稱為牛頓 拉夫遜 拉弗森 方法 newton raphson method 它是牛頓在17世紀提出的一種在實數域和複數域上近似求解方程的方法。多數方程不存在求根公式,因此求精確根非常困難,甚至不可能,從而尋找方程的近似根就顯得特別重要。方法使用函式f x...