牛頓迭代法(牛頓-拉夫森)數(shù)值分析

牛頓迭代法(牛頓-拉夫森)數(shù)值分析

ID:44745343

大?。?68.09 KB

頁數(shù):8頁

時(shí)間:2019-10-27

牛頓迭代法(牛頓-拉夫森)數(shù)值分析_第1頁
牛頓迭代法(牛頓-拉夫森)數(shù)值分析_第2頁
牛頓迭代法(牛頓-拉夫森)數(shù)值分析_第3頁
牛頓迭代法(牛頓-拉夫森)數(shù)值分析_第4頁
牛頓迭代法(牛頓-拉夫森)數(shù)值分析_第5頁
資源描述:

《牛頓迭代法(牛頓-拉夫森)數(shù)值分析》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、牛頓迭代法一、牛頓迭代法牛頓迭代法也稱為牛頓-拉夫森(Newton-Raphson)迭代法,它是數(shù)值分析中最重要的方法之一,它不僅適用于方程或方程組的求解,還常用于微分方程和積分方程求解。二、迭代公式用迭代法解非線性方程時(shí),如何構(gòu)造迭代函數(shù)是非常重要的,那么怎樣構(gòu)造的迭代函數(shù)才能保證迭代法收斂呢?牛頓迭代法就是常用的方法之一,其迭代格式的來源大概有以下幾種方式(主要是第一種):1、設(shè),對(duì)在點(diǎn)作泰勒展開:略去二次項(xiàng),得到的線性近似式:。由此得到方程0的近似根(假定0),即可構(gòu)造出迭代格式(假定0):公式(1)這就是牛頓迭代公式,若得到的序列{}收斂于,則就是非線性方程的根。2、

2、牛頓迭代法也稱為牛頓切線法,這是由于的線性化近似函數(shù)=是曲線=過點(diǎn)的切線而得名的,求的零點(diǎn)代之以求的零點(diǎn),即切線與軸交點(diǎn)的橫坐標(biāo),如右圖所示,這就是牛頓切線法的幾何解釋。實(shí)際上,牛頓迭代法也可以從幾何意義上推出。利用牛頓迭代公式,由得到,從幾何圖形上看,就是過點(diǎn)作函數(shù)的切線,切線與軸的交點(diǎn)就是,所以有,整理后也能得出牛頓迭代公式:。3、要保證迭代法收斂,不管非線性方程0的形式如何,總可以構(gòu)造:作為方程求解的迭代函數(shù)。因?yàn)椋憾以诟浇叫。渚植渴諗克俣仍娇?,故可令:?(即根不是0的重根),則由得:,因此可令,則也可以得出迭代公式:。4、迭代法的基本思想是將方程改寫成等價(jià)的

3、迭代形式,但隨之而來的問題卻是迭代公式不一定收斂,或者收斂的速度較慢。運(yùn)用前述加速技巧,對(duì)于簡單迭代過程,其加速公式具有形式:,其中記,上面兩式可以合并寫成:這種迭代公式稱作簡單的牛頓公式,其相應(yīng)的迭代函數(shù)是:。需要注意的是,由于是的估計(jì)值,若取,則實(shí)際上便是的估計(jì)值。假設(shè),則可以用代替上式中的,就可得到牛頓法的迭代公式:。牛頓迭代法實(shí)質(zhì)上是一種線性化方法,其基本思想是將非線性方程逐步歸結(jié)為某種線性方程來求解。三、算法描述用Newton法求方程f(x)=0的一個(gè)解輸入初始值x0;誤差容限TOL;最大迭代次數(shù)m輸出近似解p或失敗信息Step1Step2對(duì)i=1,2,...,m做

4、setp3~4Setp3Setp4若,則輸出(p),停機(jī),否則Setp5輸出失敗信息;停機(jī)注:在第4步中的迭代終止準(zhǔn)則可用:四、C語言代碼求一元四次方程的解doublefunc(doublex)//函數(shù){  returnx*x*x*x-3*x*x*x+1.5*x*x-4.0;  }  doublefunc1(doublex)//導(dǎo)函數(shù)  {  return4*x*x*x-9*x*x+3*x;  }  intNewton(double*x,doubleprecision,intmaxcyc)//初始值,精度,迭代次數(shù)  {  doublex1,x0;  intk;  x0=*x

5、;  for(k=0;k

6、

7、fabs(func(x1))

8、/達(dá)到迭代次數(shù),仍沒有達(dá)到精度  return0;  }  intmain()  {  doublex,precision;  intmaxcyc;  printf("輸入初始迭代值x0:");  scanf("%lf",&x);  printf("輸入最大迭代次數(shù):");  scanf("%d",&maxcyc);  printf("迭代要求的精度:");  scanf("%lf",&precision);  if(Newton(&x,precision,maxcyc)==1)//若函數(shù)返回值為1  printf("該值附近的根為:%lf",x);  else//若函數(shù)

9、返回值為0  printf("迭代失敗!");  getch();  return0;  }五、二元函數(shù)的牛頓迭代法設(shè)z=f(x,y)在點(diǎn)(x0,y0)的某一鄰域內(nèi)連續(xù)且有直到2階的連續(xù)偏導(dǎo)數(shù),(x0+h,y0+k)為此鄰域內(nèi)任意一點(diǎn),則有其中于是方程f(x,y)=0可近似表示為即同理,設(shè)z=g(x,y)在點(diǎn)(x0,y0)的某一鄰域內(nèi)連續(xù)且有直到2階的連續(xù)偏導(dǎo)數(shù),(x0+h,y0+k)為此鄰域內(nèi)任意一點(diǎn),則同樣有其中于是方程g(x,y)=0可近似表示為即于是得到方程組:求解這個(gè)方程組:當(dāng)時(shí)雅可比行列

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。