資源描述:
《實(shí)驗(yàn)三、四數(shù)值積分,常微分方程數(shù)值解法》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、計(jì)算方法實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)三;實(shí)驗(yàn)四班級(jí):計(jì)軟C107姓名:XXXXX學(xué)號(hào):xxxx實(shí)驗(yàn)三數(shù)值積分目的與要求:1:目的與要求:通過(guò)實(shí)際計(jì)算體會(huì)各種方法的精確度;2:會(huì)編寫(xiě)用龍貝格算法求定積分的程序。實(shí)驗(yàn)內(nèi)容:通過(guò)實(shí)際計(jì)算體會(huì)各種方法的精確度并且會(huì)編寫(xiě)用龍貝格算法求定積分的程序?qū)嶒?yàn)題目:實(shí)驗(yàn)程序:(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("輸入步長(zhǎng):");scanf("%f",&b);h=(m+a)/b;for(i=0;i
3、);b=2*b;for(i=0;i
4、結(jié)果:實(shí)驗(yàn)分析:將積分區(qū)間[ab]劃分為n等分,步長(zhǎng)h=(b-a),分點(diǎn)為xk=a+kh,k=0,1,…..n,就是所謂的復(fù)化求積公式,用梯形公式二分前后的兩個(gè)積分Tn與T2n,按式Sn=43T2n-13Tn做線性組合,結(jié)果就得到辛卜生公式,再利用辛普生公式得到龍貝格公式,從而按此式算出此題。龍貝格求積方法對(duì)提高精度是行之有效的,但在使用求積公式之前必須給出適合的步長(zhǎng),補(bǔ)償太大,精度難以保證;步長(zhǎng)太小,有會(huì)導(dǎo)致計(jì)算量的增加。實(shí)驗(yàn)四常微分方程數(shù)值解法目的與要求:–熟悉求解常微分方程初值問(wèn)題的有關(guān)方法和理論,主要是歐拉法和改進(jìn)歐拉法;–會(huì)編制上述方法的計(jì)算程序,針對(duì)實(shí)習(xí)題編制程
5、序,并上機(jī)計(jì)算其所需要的結(jié)果;–通過(guò)對(duì)各種求解方法的計(jì)算實(shí)習(xí),體會(huì)各種解法的功能,優(yōu)缺點(diǎn)及適用場(chǎng)合,會(huì)選取適當(dāng)?shù)那蠼夥椒?。?shí)驗(yàn)內(nèi)容:–熟悉求解常微分方程初值問(wèn)題的有關(guān)方法和理論,主要是歐拉法和改進(jìn)歐拉法,并且通過(guò)對(duì)各種求解方法的計(jì)算實(shí)習(xí),體會(huì)各種解法的功能,優(yōu)缺點(diǎn)及適用場(chǎng)合,會(huì)選取適當(dāng)?shù)那蠼夥椒ā?shí)驗(yàn)題目:實(shí)驗(yàn)程序:#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;}輸出結(jié)果: