資源描述:
《歐拉法與改進(jìn)歐拉法》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、一、目的1.通過(guò)本實(shí)驗(yàn)加深對(duì)歐拉法、改進(jìn)歐拉法、龍格-庫(kù)塔法、線性多步法的構(gòu)造過(guò)程的理解;2.能對(duì)上述三種方法提出正確的算法描述編程實(shí)現(xiàn),觀察計(jì)算結(jié)果的改善情況。二、內(nèi)容與設(shè)計(jì)思想自選常微分方程的初值問(wèn)題,分別用歐拉法、改進(jìn)歐拉法求解。分別用以上兩種方法求解常微分方程初值問(wèn)題:三、使用環(huán)境操作系統(tǒng):windonsXP軟件平臺(tái):VC6.0四、核心代碼及調(diào)試過(guò)程#include#include#includedoublef(doublex,doub
2、ley){return(1+y*y);}intmain(){inti;doublex,y,y0=1,dx=0.1;doublexx[11];doubleeuler[11],euler_2[11];doubletemp;doublef(doublex,doubley);for(i=0;i<11;i++)xx[i]=i*dx;euler[0]=y0;for(i=1,x=0;i<11;i++,x+=dx)euler[i]=euler[i-1]+dx*f(x,euler[i-1]);euler_2[0]
3、=y0;for(i=1,x=0;i<11;i++,x+=dx){printf("x=%lfteluer=%lfteuler_2=%lftaccu=%lf",x,euler[i],euler_2[i],pow(1+x*x,1.0/3));第3頁(yè)共3頁(yè)getch();}temp=euler_2[i-1]+dx*f(x,euler_2[i-1]);euler_2[i]=euler_2[i-1]+dx*(f(x,euler_2[i-1])+f(x+dx,temp))/2;}#include
4、tdio.h>#include#include#defineMAX_N20doublef(doublex,doubley){return(1+y*y);}voideuler(doublea,doubleb,doubleinit_val,intn){inti;doubleh,x[MAX_N],y[MAX_N];h=(b-a)/n;x[0]=a;y[0]=init_val;printf("y[%0.lf]=%lft",x[0],y[0]);for(i=1;i<
5、=n;i++){y[i]=y[i-1]+h*f(x[i-1],y[i-1]);x[i]=a+i*h;y[i]=y[i-1]+0.5*h*(f(x[i-1],y[i-1])+f(x[i],y[i]));printf("y[%0.2lf]=%lft",x[i],y[i]);if((i+1)%3==0)printf("");}}voidmain(){doublea=0.0,b=1.4,init_val=1.0;euler(a,b,init_val,5);}運(yùn)行結(jié)果:第3頁(yè)共3頁(yè)五、總結(jié)通過(guò)編程學(xué)
6、會(huì)了對(duì)歐拉法和改進(jìn)歐拉法的運(yùn)用六、附錄第3頁(yè)共3頁(yè)