2008信息与计算科学专业计算方法习题参考解答 江世宏编
第六章 常微分方程数值解
姓名 学号 班级
习题主要考察点:欧拉方法的构造,单步法的收敛性和稳定性的讨论,线性多步法中亚当姆斯方法的构造和讨论。
1 用改进的欧拉公式,求以下微分方程
2x???y?y?y??y(0)?1?x?[0,1]
的数值解(取步长h?0.2),并与精确解作比较。(改进的尤拉公式的应用)
dzy2?2z??2x 解:原方程可转化为 yy??y?2x,令z?,有dx22解此一阶线性微分方程,可得 y?利用以下公式
2x?1。
2xi?y?y?0.2?(y?)ii?pyi??2xi)(i?0,1,2,3,4)?yc?yi?0.2?(yp? yp??1?yi?1?(yp?yc)2?求在节点xi?0.2?i(i?1,2,3,4,5)处的数值解yi,其中,初值为x0?0,y0?1。
MATLAB程序如下:
x(1)=0;%初值节点 y(1)=1;%初值
fprintf('x(%d)=%f,y(%d)=%f,yy(%d)=%f\\n',1,x(1),1,y(1),1,y(1)); for i=1:5
yp=y(i)+0.2*(y(i)-2*x(i)/y(i));%预报值 yc=y(i)+0.2*(yp-2*x(i)/yp);%校正值 y(i+1)=(yp+yc)/2;%改进值 x(i+1)=x(i)+0.2;%节点值
yy(i+1)=sqrt(2*x(i+1)+1);%精确解
fprintf('x(%d)=%f,