資源描述:
《標準四階龍格——庫塔法.doc》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、實驗名:常微分方程數(shù)值解法實習目的:(1)通過實習進一步掌握標準四階龍格——庫塔法的基本思想;(2)通過對標準四階龍格——庫塔法的調試練習,進一步體會其特點;(3)通過實習進一步掌握標準四階龍格——庫塔法的計算步驟,并能靈活應用;(4)通過上機調試運行,逐步培養(yǎng)解決實際問題的編程能力。實習要求:(1)熟悉TurboC的編譯環(huán)境;(2)實習前復習標準四階龍格——庫塔法的基本思想和過程;(3)實習前復習標準四階龍格——庫塔法的計算步驟。實習設備:(1)硬件設備:單機或網絡環(huán)境下的微型計算機一臺;(2)軟件設備:DOS3.3以上操作系統(tǒng),TurboC2.0編譯器。實習內容:標準四階龍格
2、——庫塔法:(1)使用標準四階龍格——庫塔法求解初值問題的數(shù)值求解。(2)要求:請寫出程序的運行結果:程序代碼:#include"stdio.h"#include"conio.h"floatfunc(floatx,floaty){return(2*x*y);}floatrunge_kutta(floatx0,floatxn,floaty0,intn){floatx,y,y1,y2,h,xh;floatd1,d2,d3,d4;inti;x=x0;y=y0;h=(xn-x0)/n;for(i=1;i<=n;i++){xh=x+h/2;d1=func(x,y);d2=func(xh,y
3、+h*d1/2.0);d3=func(xh,y+h*d2/2.0);d4=func(xh,y+h*d3);y=y+h*(d1+2*d2+2*d3+d4)/6.0;x=x0+i*h;}return(y);}voidmain(){floatx0,xn,y0,e;intn;printf("inputn:");scanf("%d",&n);printf("inputx0,xn:");scanf("%f%f",&x0,&xn);printf("inputy0:");scanf("%f",&y0);e=runge_kutta(x0,xn,y0,n);printf("y(%f)
4、=%6.6f",y0,e);}運行結果:(3)思考題:標準四階龍格——庫塔法的基本思想是什么?龍格和庫塔提出了一種間接地運用Taylor公式的方法,即利用y(x)在若干個待定點上的函數(shù)值和導數(shù)值做出線性組合式,選取適當系數(shù)使這個組合式進Taylor展開后與y(xi+1)的Taylor展開式有較多的項達到一致,從而得出較高階的數(shù)值公式,這就是龍格—庫塔法的基本思想。