簡介

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

 

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

 

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

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

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

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

 

牛頓法舉例

 

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

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

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

 

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

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

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