牛頓-拉夫遜迭代法原理及其實現(xiàn)_第1頁
牛頓-拉夫遜迭代法原理及其實現(xiàn)_第2頁
牛頓-拉夫遜迭代法原理及其實現(xiàn)_第3頁
牛頓-拉夫遜迭代法原理及其實現(xiàn)_第4頁
牛頓-拉夫遜迭代法原理及其實現(xiàn)_第5頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、牛頓迭代法(簡寫)就是一種近似求解實數(shù)域與復(fù)數(shù)域求解方程的數(shù)學(xué)方 法。那么這個方法是具體是什么原理呢?牛頓迭代如何迭代?直接看數(shù)學(xué)公式描述如何迭代不直觀,先來看動圖就很容易理解牛頓迭代 法為什么叫迭代法以及怎樣迭代的:牛頓迭代法是原理是根據(jù)一個初始點在該點做切線,切線與X軸相交得出 下一個迭代點的坐標(biāo),再在處做切線,依次類推,直到求得滿足精度的近似解為啥要近似求解?很多方程可能無法直接求取其解迭代法非常適合計算機編程實現(xiàn),實際上計算機編程對于牛頓迭代法廣為應(yīng)用 來看看,數(shù)學(xué)上如何描述的?_/(孫)“”+1 二帀y其中f仗為函數(shù)f仗):在處的一階導(dǎo)數(shù),也就是該點的切線。來簡單推一推上面公式的山來

2、,直線函數(shù)方程為:y = kx知道一個直線的一個坐標(biāo)點(劭以及斜率則該直線的方程就很容 易可以得知:y f f + /(n)那么該直線與軸的交點,就是y=0也即仏M- f (務(wù)層=0等式X的解f仏) =一 Rrf仏) 啥時候停止迭代呢?1. 計算出/佃)2. 給出一個初始假定根值xO,利用上面迭代式子進行迭代3計算絕對相對迭代近似誤日曾W。4.將絕對相對近似誤差與預(yù)定的相對誤差容限g進行比較。如果IgIaG,則迭 代步驟2,否則停止算法。另外,檢査迭代次數(shù)是否已超過允許的最大迭代次 數(shù)。如果是這樣,則需要終止算法并退出。窮一個終止條件是:|幺+1)| e如何編碼呢?山于牛頓迭代法主要u的是解方

3、程,當(dāng)然也有可能用于某一個數(shù)學(xué)函數(shù)求 極值,所以無法寫出通用的代碼,這里僅僅給出一個編代碼的思路。相信掌握 了思路,對于各種實際應(yīng)用應(yīng)該能很快的寫出符合實際應(yīng)用的代碼。假定一函數(shù)為f(x) - 22 - 10co5a?) + X 80其波形圖如下:f(x)=2x2 lOcos(z) + z 80fx) = 4X + lQsin(x) + 120406080那么對于該函數(shù)的根:2/ - lQcosx) + X 一 80 = 0從圖上大致可以知道有兩個根,如果直接解方程,則很難求出其根,可以編個 代碼試試:#include #include #include 產(chǎn)假定待求根函數(shù)如F*/#define

4、 F(x) (2*(x)*(x)- 10*cos(x)+(x)-80)產(chǎn)其一階導(dǎo)數(shù)為派/#define DF(x) (4*(x)+10*sin(x)+1)float newton_rooting(float xOfloat precision,float inin_deltax4nt max_iterations)float xmxn 1 JnJn 1 .dfn; float deltax;int step = 0;xn = xO;xnl = xO;doxn = xnl;fn =F(xn);dfn = DF(xn); 產(chǎn)判的if( fabs(dfn) precision ) return NA

5、N;elsereturn fn;xnl = xn - fn/dfn; fnl = F(xnl);deltax = fabs(xnl-xn);step+;if( stepmax_herations)if( fabs(fnl)precision II deltaxinin_cieltax );return xnl;void inainOfloat root_guess = 230f; float precision = 0.0000If; float inin_deltax = 0.00If: float root:int step = 7;root = newton_rooting( root_

6、guess,precisionunin_deltax,step ); printf(根為:f,函數(shù)值為:rool,F(root);root_guess = -23;root = newton_rooting( root_guess,precisionunin_deltax,step ); printf(根為:f,函數(shù)值為:root,F(root);結(jié)果:根為:6.457232,函數(shù)值為:0.000004根為:-6.894969”函數(shù)值為:-0.000008函數(shù)值已經(jīng)很接近于0了,如果還需要更為精確的值,則可以選擇在此基礎(chǔ)上 進一步求解,比如利用二分法逼近。需要注意些啥?求斜率可能為0,如為0時,則可能找到了函數(shù)的極值,比如:如果選擇的初始猜測根的接近方程f(x)=0中函數(shù)f(x)的拐點,NewiomRaphson 方法可能開始偏離根。然后,它可能會乂收斂回到根。例如=03456O O O O O O O O OM 吃 W8642 4 ZTS.O+mui)2X5435866 如果選擇的初值不合適,可能會跳掉一些根,比如:所以實際應(yīng)用時,有哪些應(yīng)用?需要知道自己待求解模型的大致悄況,在合理的加以調(diào)整。比如知道某系統(tǒng)的傳遞函數(shù),求解傳函的參數(shù),可以將上述方法推而廣之,求 解多維變量方程組

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論