簡介

牛頓迭代法(簡稱牛頓法)由英國著名的數(shù)學家牛頓爵士最早提出。但是,這一方法在牛頓生前并未公開發(fā)表。

 

photoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設(shè)計培訓,網(wǎng)站建設(shè)培訓

 

牛頓法的作用是使用迭代的方法來求解函數(shù)方程的根。簡單地說,牛頓法就是不斷求取切線的過程。

對于形如f(x)=0的方程,首先任意估算一個解x0,再把該估計值代入原方程中。由于一般不會正好選擇到正確的解,所以有f(x)=a。這時計算函數(shù)在x0處的斜率,和這條斜率與x軸的交點x1。

f(x)=0中精確解的意義是,當取得解的時候,函數(shù)值為零(即f(x)的精確解是函數(shù)的零點)。因此,x1比x0更加接近精確的解。只要不斷以此方法更新x,就可以取得無限接近的精確的解。

但是,有可能會遇到牛頓迭代法無法收斂的情況。比如函數(shù)有多個零點,或者函數(shù)不連續(xù)的時候。

 

牛頓法舉例

 

下面介紹使用牛頓迭代法求方根的例子。牛頓迭代法是已知的實現(xiàn)求方根最快的方法之一,只需要迭代幾次后就能得到相當精確的結(jié)果。

首先設(shè)x的m次方根為a。

photoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設(shè)計培訓,網(wǎng)站建設(shè)培訓

 

下面程序使用牛頓法求解平方根。

photoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設(shè)計培訓,網(wǎng)站建設(shè)培訓

 1 const float EPS = 0.00001; 
 2 int sqrt(double x) { 
 3     if(x == 0) return 0; 
 4   &nb
        
		

網(wǎng)友評論