牛頓法求平方根步驟

2022-06-22 14:57:12 字數 1106 閱讀 2310

牛頓法步驟:

1. 以y = (x - 2) * (x - 2) 函式為例,先任意選取一點a,在曲線上做a點的切線,交x軸與b點,在b做x軸的垂線,交曲線於c點。

2. 在曲線上做c點的切線,交x軸與d點,在d點做x軸的垂線,交曲線於e點。我們可以看到d點比b點更加接近方程(x - 2) * (x - 2) = 0的根(x = 2)

3. 在曲線上做e點的切線,交x軸與f點,在f點做x軸的垂線,交曲線於g點。可以看到g點比d點更加接近方程的根

4. 按照這個方式不斷迭代會離方程的根越來越近,以此得到近似根。

要求是這樣:輸入乙個數,輸出其對應的平方根。

假設輸入的數是 m,則其實是求乙個 x 值,使其滿足 x2 = m,令 f(x) = x2 - m ,其實就是求方程 f(x) = 0 的根。那麼 f(x) 的導函式是 f'(x) = 2x。

那麼 f(x) 函式的曲線在 (xn,xn

2 - m) 處的切線的斜率是:2xn,因此切線方程是:y = 2xn (x - xn) + xn

2 - m。故切線與x軸的交點是:xn+1 = (xn + m / xn ) / 2

根據牛頓迭代法,首先應該在曲線 f(x) 上任意選取一點,做切線。那麼,我們直接把輸入的數 m,作為選取的點的橫座標,即 x0 = m,然後根據上式進行迭代。

#include #include using namespace std;

// err 是允許的誤差

const double err = 1e-8;

double ntsqrt(const double num)

else

return root;

}}int main()

else

return 0;

}

**:

牛頓迭代法求平方根

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