二階龍格庫塔方法_第1頁
二階龍格庫塔方法_第2頁
二階龍格庫塔方法_第3頁
二階龍格庫塔方法_第4頁
二階龍格庫塔方法_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、2012-2013(1)專業(yè)課程實踐論文二階Runge-Kutta方法 董文峰,0818180123,R數學08-1班一、算法理論由改進的Euler方法得到:凡滿足條件式有一簇形如上式的計算格式,這些格式統稱為二階龍格庫塔格式。因此改進的歐拉格式是眾多的二階龍格庫塔法中的一種特殊格式。 若取,就是另一種形式的二階龍格 - 庫塔公式。 (1)此計算公式稱為變形的二階龍格庫塔法。二級龍格-庫塔方法是顯式單步式,每前進一步需要計算兩個函數值。由上面的討論可知,適當選擇四個參數y0,a,b,n,可使每步計算兩次函數值的二階龍格-庫塔方法達到二階精度。下面以式子(1)為依據利用VC+6.0編譯程序進行問

2、題的求解。二、算法框圖開始輸入y0,a,b,nxi+1=xi+h;k1=function(xi,yi);k2=function(xi+h/2,yi+h*k1/2);yi+1=yi+h*k2i=0輸出xi+1,yi+1 i=n?結束i=i+1否是三、算法程序#include<stdlib.h>#include<stdio.h>/*n表示幾等分,n+1表示他輸出的個數*/int RungeKutta(double y0,double a,double b,int n,double *x,double *y,double (*function)(double,double)d

3、ouble h=(b-a)/n,k1,k2;int i;x0=a;y0=y0;for(i=0;i<n;i+)xi+1=xi+h;k1=function(xi,yi);k2=function(xi+h/2,yi+h*k1/2);yi+1=yi+h*k2;return 1;double function(double x,double y)return y-2*x/y;int main() int i;double x6,y6;printf("用二階龍格-庫塔方法n");RungeKutta(1,0,1,5,x,y,function);for( i=0;i<6;i+)printf("x%d=%f,y%d=%fn",i,xi,i,yi);return 1;四、算法實現例1. 取h=0.2,用二階Runge-Kutta公式求解解:1.將程序中的return y-2*x/y 改成 return x+y2.輸入y0,a,b,n 分別為 1,0,1,53.結果為例2. 取h=0.2,用二階Runge-Kutta公式求解解:1. 將程序中的retur

溫馨提示

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

評論

0/150

提交評論