第八章 常微分方程数值解 姓名 学号 班级 习题主要考察点:欧拉方法的构造,单步法的收敛性和稳定性的讨论,线性多步法中亚当姆斯方法的构造和讨论
1 用改进的欧拉公式,求以下微分方程 ]1,0[1)0(2xyyxyy 的数值解(取步长2
0h),并与精确解作比较
(改进的尤拉公式的应用) 解:原方程可转化为 xyyy22 ,令22yz ,有xzdxdz22 解此一阶线性微分方程,可得 12 xy
利用以下公式 )4,3,2,1,0()(21)2(2
01iyyyyxyyyyxyyycpipipiciiiip 求在节点)5,4,3,2,1(2
0iixi处的数值解iy ,其中,初值为1,000yx
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,y(%d)=%f,yy(%d)=%f\n',i+1,x(i+1),i+1,y(i+1),i+1,yy(i+1)); end 程序运行的结果如下: x(1)=0
000000, y(1)=1
000000, yy(1)=1
000000 x(2)=0
200000, y(2)=1
220000, yy(2)=1