資源描述:
《實驗三、四數(shù)值積分,常微分方程數(shù)值解法》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、計算方法實驗報告實驗三;實驗四班級:計軟C107姓名:XXXXX學號:xxxx實驗三數(shù)值積分目的與要求:1:目的與要求:通過實際計算體會各種方法的精確度;2:會編寫用龍貝格算法求定積分的程序。實驗內容:通過實際計算體會各種方法的精確度并且會編寫用龍貝格算法求定積分的程序實驗題目:實驗程序:(3)#include#include#definee2.7182818voidmain(){floatTn=0.0,T2n=0.0,Sn=0.0,S2n=0.0,S4n=0.0,Cn=0.0,C2n=0.0,Rn,f=0.0,m,k=0.0,a=0.0,b,c=
2、0.0,h=0.0,n=0.0,i=0.0,d=0.0;printf("輸入積分下線:");scanf("%f",&m);f=1/pow(e,(m*m));m=f;printf("輸入積分上線:");scanf("%f",&a);f=1/pow(e,(a*a));n=f;Tn=(a-m)/2*(n+m);printf("輸入步長:");scanf("%f",&b);h=(m+a)/b;for(i=0;i
3、);b=2*b;for(i=0;i
4、結果:實驗分析:將積分區(qū)間[ab]劃分為n等分,步長h=(b-a),分點為xk=a+kh,k=0,1,…..n,就是所謂的復化求積公式,用梯形公式二分前后的兩個積分Tn與T2n,按式Sn=43T2n-13Tn做線性組合,結果就得到辛卜生公式,再利用辛普生公式得到龍貝格公式,從而按此式算出此題。龍貝格求積方法對提高精度是行之有效的,但在使用求積公式之前必須給出適合的步長,補償太大,精度難以保證;步長太小,有會導致計算量的增加。實驗四常微分方程數(shù)值解法目的與要求:–熟悉求解常微分方程初值問題的有關方法和理論,主要是歐拉法和改進歐拉法;–會編制上述方法的計算程序,針對實習題編制程
5、序,并上機計算其所需要的結果;–通過對各種求解方法的計算實習,體會各種解法的功能,優(yōu)缺點及適用場合,會選取適當?shù)那蠼夥椒ā嶒瀮热荩酣C熟悉求解常微分方程初值問題的有關方法和理論,主要是歐拉法和改進歐拉法,并且通過對各種求解方法的計算實習,體會各種解法的功能,優(yōu)缺點及適用場合,會選取適當?shù)那蠼夥椒?。實驗題目:實驗程序:#include#defineN10voidModEuler(float(*fl)(float,float),floatx0,floaty0,floatxn,intn){inti;floatyp,yc,x=x0,y=y0,h=(xn-x0)/n;pri
6、ntf("x[0]=%fty[0]=%f",x,y);for(i=0;i<=n;i++){yp=y+h*fl(x,y);x=x0+i*h;yc=y+h*fl(x,yp);y=(yp+yc)/2;printf("x[%d]=%fty[%d]=%f",i,x,i,y);}}voidmain(void){inti;floatxn=3.0,x0=0.0,y0=2.0;voidModEuler(float(*)(float,float),float,floaty0,float,int);floatfl(float,float);ModEuler(fl,x0,y0,xn,N);ge
7、tchar();}floatfl(floatx,floaty){return-x*y*y;}輸出結果: