资源描述:
《欧拉及改进的欧拉法求解常微分方程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、生物信息技术0801徐聪U200812594#include#includevoidfl(double*y,double*x,double*yy){y[o]=2.o;x[0]=0.0;yy[0]=2.0;for(inti=l;i<=9;i++){x[i]=x[i-l]+0.2;y[i]=y[i-l]+0.2*(y[i-l]-x[i-l]);yy[i]=x[i]+l+exp(x[i]);printf(”若x=%f,计算值是%f,真实值是%f,截断误差是%fx[i],y[i],yy[i],y[i]-yy[i]);}};void
2、f2(double*y,double*x,double*yy){y[o]=i.o;x[0]=0.0;yy[0]=1.0;for(inti=l;i<=9;i++){x[i]=x[i-l]+0.2;y[i]=y[i-l]+0.2*(2*y[i-l]+x[i-l]*x[i-l]);yy[i]=-0.5*(x[i]*x[i]+x[i]+0.5)+1.25*exp(2*x[i]);printf(”若x=%f,计算值是%f,真实值是%f,截断误差是%fx[i],y[i],yy[i],y[i]-yy[i]);}};voidf3(double*y,double*x,dou
3、ble*yy,double*y0){y[o]=2.o;x[0]=0.0;yy[0]=2.0;for(inti=l;i<=9;i++){x[i]=x[i-l]+0.2;y0[i]=y[i-l]+0.2*(y[i-l]-x[i-l]);y[i]=y[i-l]+0.1*(y[i-l]-x[i-l]+y0[i-l]-x[i-l]);yy[i]=x[i]+l+exp(x[j]);printf('喏x=%f,计算值是%f,真实值是%f,截断误差是%fn,x[i]zy[i],yy[i],y[i]-yy[i]);voidf4(double*y,double*x,doubl
4、e*yy,double*y0){y[0]=i.0;x[0]=0.0;yy[0]=1.0;for(inti=l;i<=9;i++){x[i]=x[i-l]+0.2;y0[i]=y[i-l]+0.2*(2*y[i-l]+x[i-l]*x[i-l]);y[i]=y[i-l]+0.1*(2*y0[i-l]+x[i-l]*x[i-l]+2*y[i-l]+x[i-l]*x[i-l]);yy[i]=-0.5*(x[i]*x[i]+x[i]+0.5)+1.25*exp(2*x[i]);printfC若x=%f,计算值是%f,真实值是%f,截断误差是%f•,,x[i],y[
5、i],yy[i]/y[i]-yy[i]);}};voidmain(){doubley[10],x[10],yy[10]zy0[10];printf("常微分方程组是y-y-xandy(0)=2采用欧拉法求解得”);fl(y,x,yy);printf("常微分方程组是y'=x*x+2yandy(0)=l釆用欧拉法求解得“);f2(y,x,yy);printf("常微分方程组是y-y-xandy(0)=2采用欧拉改进法求解得rT);fl(y,x,yy);printf("常微分方程组是y*=x*x+2yandy(0)=l采用欧拉改进法求解得
6、“);fl(y,x,yy);c:b'BACKUPl我的文档I计算方法I计算方法C作业Qebug'欧拉公式解方程2心『常微分方程组是yit——acaaaaa0.400000,VJ0.600000,TI0.800000,VJ1.000000,VJ1.200000,yJ1.400080,y-
7、1・600000,7
8、1.800000,VIgx=0.200000,tj-右X-右X右X右X右X右x右x右X=y_x■丿古曰■丿古曰■丿古曰■丿古曰■丿古曰
9、
10、得03腿4fe1P2习4法2.拉E是是是是是是是是欧詐值值值«:«:值值值磊实实实实实实实实=2,0,0.0.0
11、.4,」7.0.>0000288180000639187<008385399V-042788895083841989d4n-23345567a2E是是是是是是是是最差差差差差差差差八折折折折圻折折hlnuhlnuhlnuhlnuhlmJhlMuhly铁截截截截截截截截-0.021403-0.051825-0.094119-0.151941-0.229962-0.334133-0.472019-0.653215-0.889867常微分方程组是=x*x+2yandy<0>=l采用欧拉法求解若xW.200000"计算值是1.400000,直实值是1・494281」―
12、ifWr曰,'nS右x右X右X右x右x