1、以表格形式列出10个等距节点上的计算值和精确值,并比较他们的计算精确度。其中多步法需要的初值由经典R-K法提供。运算时,取足以表示计算精度的有效位。2. 算法说明函数及变量说明表1 函数及变量定义函数/变量名类 型说 明fdouble要求的微分方程p_f微分方程原函数Euler,Euler_ProK_R,Adams double欧拉,改进欧拉,经典K_R,4阶Adams预测-校正方法MainVoid主函数1、欧拉方法: (i=0,1,2,3,.n-1) (其中a为初值)2、改进欧拉方法:(i=0,1,2.n-1) (其中a为初值)3、经典K-R方法:4、4阶adams预测-校正方法预测:校正:
2、 Adsms内插外插公式联合使用称为Adams预测-校正系统,利用外插公式计算预测,用内插公式进行校正。计算时需要注意以下两点:1、外插公式为显式,内插公式为隐式。故用内插外插公式时需要进行迭代。2、这种预测-校正法是四步法,计算Yn+1时,不但用到前一步信息,而且要用到更前三步信息,因此它不是自动开始的,实际计算时必须借助某种单步法,用Runge-Kutta格式为它提供初始值,依据局部截断误差公式得:进一步将Adams预测-校正系统加工成下列方案:运用上述方案计算时,要先一步的信息和更前一步的信息因此在计算机之前必须给出初值和可用其他单步法来计算,则一般令他为零。3. 源程序#include
3、/微分方程double f(double x,double y) return (-y+cos(2*x)-2*sin(2*x)+2*x*exp(-x); /return x*pow(y,-2)*;/原函数double p_f(double x) return x*x*exp(-x)+cos(2*x); /return pow+pow(x,2),;/求精确解double* Exact(double a,double b,double h) int i; double c = (b-a)/h; double *y = new double c+1; for(i=0;i=c;i+) yi= p_f(
4、a+i*h); return y;/欧拉方法double* Euler(double a,double b,double h,double y0) y0=y0; for(i=1; yi= yi-1+ h* f(a+(i-1)*h,yi-1); /printf(%fn,f(a+(i-1)*h,yi-1); /改进欧拉方法double* Euler_Pro(double a,double b,double h,double y0) double c = (b-a)/h ,yb; yb=yi-1 +h* f(a+(i-1)*h,yi-1); yi = yi-1 + *h*( f(a+(i-1)*h,
5、yi-1) + f(a+i*h,yb) );/经典K-R方法double* K_R(double a,double b,double h,double y0) double K1,K2,K3,K4,x; double c = (b-a)/h ; x=a+(i-1)*h; K1=f(x,yi-1); K2=f(x+*h,yi-1+*h*K1); K3=f(x+*h,yi-1+*h*K2); K4=f(x+h,yi-1+h*K3); yi=yi-1 + h*( K1 + 2*K2 + 2*K3 + K4)/6;/4阶Adams预测-校正方法double *Adams(double a,double
6、 b,double h,double y0) double *y; double count = (b-a)/h; double dy100=0,x4=0; double p_0=0,p_1=0,c=0; double *r = new double *count+1;/动态初始化,储存预测值和校值=count; ri = new double 2; if(r=NULL) printf(内存分配失败n); exit(0);count; ri0=0; ri1=0; y=K_R(a,b,h,y0);4; xi=a+h*i; dyi=f(xi,yi); ri0=yi; i=3; while(x3改进欧拉欧拉方法4阶adams预测校正方法2, 同一个方法的情况下,步长越小 结果准确度越高;参考文献:1 朱建新,李有法,数值计算方法(第三版),高等教育出版社;2Adam预测-校正系统学生学习心得学生(签名):2016年 6月17 日诚信承诺本人郑重声明所呈交的课程报告是本人在指导教师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注的地方外,论文中不包含其他人已经发表或撰写过的研究成果。与我一同工作的同学对本文研究所做的贡献均已在报告中作了明确的说明并表示谢意。任课教师评语成绩评定:任课教师(签名): 年 月 日
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1