龍格庫塔方法課件_第1頁
龍格庫塔方法課件_第2頁
龍格庫塔方法課件_第3頁
龍格庫塔方法課件_第4頁
龍格庫塔方法課件_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Runge-Kuttua方法和matlab原理

1Runge-Kuttua方法和matlab原理

1龍格-庫塔法(Runge-Kutta)數(shù)值分析中,龍格-庫塔法(Runge-Kutta)是用于模擬常微分方程的解的重要的一類隱式或顯式迭代法。這些技術(shù)由數(shù)學(xué)家卡爾·龍格和馬丁·威爾海姆·庫塔于1900年左右發(fā)明。經(jīng)典四階龍格庫塔法龍格庫塔法的家族中的一個成員如此常用,以至于經(jīng)常被稱為“RK4”或者就是“龍格庫塔法”。2龍格-庫塔法(Runge-Kutta)2四階Runge-Kutta方法3四階Runge-Kutta方法344這樣,下一個值(yn+1)由現(xiàn)在的值(yn)加上時間間隔(h)和一個估算的斜率的乘積決定。該斜率是以下斜率的加權(quán)平均:k1是時間段開始時的斜率;k2是時間段中點(diǎn)的斜率,通過歐拉法采用斜率k1來決定y在點(diǎn)tn+h/2的值;k3也是中點(diǎn)的斜率,但是這次采用斜率k2決定y值;k4是時間段終點(diǎn)的斜率,其y值用k3決定。當(dāng)四個斜率取平均時,中點(diǎn)的斜率有更大的權(quán)值:

5這樣,下一個值(yn+1)由現(xiàn)在的值(yn)加上時間間隔(h誤差分析:注意上述公式對于標(biāo)量或者向量函數(shù)(y可以是向量)都適用。

四階R-K方法的每一步需要計算四次函數(shù)值f,可以證明其局部截斷誤差為O(h5).

6誤差分析:四階R-K方法的每一步需要計算四次R-K(高階)方法不唯一,選擇不同的參數(shù)能得到不同的R-K公式注意的問題R-K方法的推導(dǎo)是基于Taylor展開法,因而要求解具有較好的光滑性,如果光滑性較差精度可能不如改進(jìn)Euler方法,最好采用低階算法而將步長h

取小。Runge-Kutta法的主要運(yùn)算在于計算

Ki

的值,即計算

f

的值。計算量與可達(dá)到的最高精度階數(shù)的關(guān)系:753可達(dá)到的最高精度642每步須算Ki的個數(shù)7R-K(高階)方法不唯一,選擇不同的參數(shù)能得到注意的問題R-四階Runge-Kutta方法的MATLAB實(shí)現(xiàn)原理:8四階Runge-Kutta方法的MATLAB實(shí)現(xiàn)原理:8四階R-K方法實(shí)現(xiàn)開始輸出x1,y1結(jié)束YN9四階R-K方法實(shí)現(xiàn)開始輸出x1,y1結(jié)束YN9functionff=rk(yy,x0,y0,h,a,b)%yy為y的導(dǎo)函數(shù),x0,y0,為初值,h為步長,a,b為區(qū)間c=(b-a)/h+1;i1=1;%c為迭代步數(shù);i1為迭代步數(shù)累加值y=y0;z=zeros(c,6);%z生成c行,6列的零矩陣存放結(jié)果;%每行存放c次迭代結(jié)果,每列分別存放k1~k4及y的結(jié)果10functionff=rk(yy,x0,y0,h,a,b)不斷迭代運(yùn)算:forx=a:h:b

ifi1<=ck1=feval(yy,x,y);k2=feval(yy,x+h/2,y+(h*k1)/2);k3=feval(yy,x+h/2,y+(h*k2)/2);k4=feval(yy,x+h,y+h*k3);y=y+(h/6)*(k1+2*k2+2*k3+k4);z(i1,1)=x;z(i1,2)=k1;z(i1,3)=k2;z(i1,4)=k3;z(i1,5)=k4;z(i1,6)=y;i1=i1+1;

endend11不斷迭代運(yùn)算:11例4解例題412例4解例題412xnYn|yn-y(xn)|R-K3誤差y(xn)0.11.09590.00051.095440.45e-41.09540.21.18410.00091.183220.17e-41.18320.31.26620.00131.264910.15e-41.26490.41.34340.00181.341650.48e-41.34160.51.41640.00221.414220.25e-41.41420.61.48600.00281.483260.55e-41.48320.71.55250.00331.549210.14e-41.54920.81.61650.00401.6124780.21e-41.61250.91.67820.00491.673350.54e-41.67331.01.73790.00581.732090.06e-41.732113xnYn|yn-y(xn)|R-K3誤差y(xn)0.11.改進(jìn)Euler法一步需要計算兩個函數(shù)值(h=0.1)四階Runge-Kutta方法一步需要計算四個函數(shù)值(h=0.2)總計算量大致相當(dāng),但四階Runge-Kutta方法精度更高14改進(jìn)Euler法一步需要計算兩個函數(shù)值(h=0.1)14五、變步長Runge-Kutta方法從每一步看,步長越小,截斷誤差越小;但隨著步長的縮小,在一定求解范圍內(nèi)所要完成的步數(shù)就會增加,步數(shù)的增加不但引起計算量的增大,而且可能導(dǎo)致舍入誤差的嚴(yán)重積累,因此需要選擇步長如何衡量和檢驗計算結(jié)果的精度如何依據(jù)所判定的精度來處理步長15五、變步長Runge-Kutta方法從每一步看,步長越小,截實(shí)施方案以經(jīng)典四階Runge-Kutta方法為例

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論