四階龍格庫塔法的編程(趙)

四階龍格庫塔法的編程(趙)

ID:15926824

大?。?74.50 KB

頁數(shù):7頁

時間:2018-08-06

四階龍格庫塔法的編程(趙)_第1頁
四階龍格庫塔法的編程(趙)_第2頁
四階龍格庫塔法的編程(趙)_第3頁
四階龍格庫塔法的編程(趙)_第4頁
四階龍格庫塔法的編程(趙)_第5頁
資源描述:

《四階龍格庫塔法的編程(趙)》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。

1、例題一四階龍格-庫塔法的具體形式為:1.1程序:/*e.g:y'=t-y,t∈[0,1]/*  y(0)=0/*使用經(jīng)典四階龍格-庫塔算法進行高精度求解 /*y(i+1)=y(tǒng)i+(K1+2*K2+2*K3+K4)/6/*K1=h*f(ti,yi)/*K2=h*f(ti+h/2,yi+K1*h/2)/*K3=h*f(ti+h/2,yi+K2*h/2)/*K4=h*f(ti+h,yi+K3*h)*/#include#include#defineN20floatf(floatd,floatp)//要求解的微分方程的右部的函數(shù)e.g:t-y{flo

2、atderivative;derivative=d-p;return(derivative);}voidmain(){floatt0;//范圍上限floatt;//范圍下限floath;//步長floatnn;//計算出的點的個數(shù),即迭代步數(shù)intn;//對nn取整floatk1,k2,k3,k4;floaty[N];//用于存放計算出的常微分方程數(shù)值解floatyy;//精確值floaterror;//誤差inti=0,j;//以下為函數(shù)的接口printf("inputt0:");scanf("%f",&t0);printf("inputt:");scanf("%f",&

3、t);printf("inputy[0]:");scanf("%f",&y[0]);printf("inputh:");scanf("%f",&h);//以下為核心程序nn=(t-t0)/h;printf("nn=%f",nn);n=(int)nn;printf("n=%d",n);for(j=0;j<=n;j++){yy=t0-1+exp(-t0);//解析解表達式error=y[i]-yy;//誤差計算printf("y[%f]=%fyy=%ferror=%f",t0,y[i],yy,error);//結果輸出k1=h*f(t0,y[i]);//求K1k2=

4、h*f((t0+h/2),(y[i]+k1*h/2));//求K2k3=h*f((t0+h/2),(y[i]+k2*h/2));//求K3k4=h*f((t0+h),(y[i]+k3*h));//求K4y[i+1]=y[i]+((k1+2*k2+2*k3+k4)/6);//求y[i+1]t0+=float(h);i++;}}1.2結果:inputt0:0inputt:1inputy[0]:0inputh:0.2nn=5.000000n=5tiyiyyerror00000.20.0197360.0187310.0010050.40.0748130.0703200.004493

5、0.60.1583030.1488120.0094910.80.2646350.2493290.0153061.00.3893310.3678790.021452圖一例題二(見《高等流體力學》P45頁例1.6)給定速度場u=x+t,v=-y-t,求t=1時過(1,1)點的質點的跡線。解答:由跡線微分方程dx/dt=x+t,dy/dt=-y-t積分得x=Aet–t-1,y=Be-t–t+1t=1時過(1,1)點的質點有A=3/e,B=e最后得此質點的跡線方程為:x=3et-1–t-1,y=e-1-t–t+12.1程序#include#include

6、.h>#defineN20//定義微分方程floatfx(floatdd,floatpp){floatder;der=dd+pp;return(der);}floatfy(floatd,floatp){floatderivative;derivative=-d-p;return(derivative);}voidmain(){floatt0;//范圍上限floatt;//范圍下限floath;//步長floatnn;//計算出的點的個數(shù),即迭代步數(shù)intn;//對nn取整floatk1,k2,k3,k4,k11,k22,k33,k44;floatx[N],y[N];//用于

7、存放計算出的常微分方程數(shù)值解floatxx,yy;//精確值floaterrorx,errory;//誤差inti=0,j;//以下為函數(shù)的接口printf("inputt0:");scanf("%f",&t0);printf("inputt:");scanf("%f",&t);printf("inputx[0]:");scanf("%f",&x[0]);printf("inputy[0]:");scanf("%f",&y[0]);printf("inputh:");scanf("%f",&h);//以下為核心程序

當前文檔最多預覽五頁,下載文檔查看全文

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

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