1、1 引 言,第9章 常微分方程初值问题数值解法,2 简单的数值方法与基本概念,一、欧拉法和后退欧拉法,clear; y=1, x=0, %初始化 for n=1:10 y=1.1*y-0.2*x/y, x=x+0.1, end,y = 1 x = 0 y = 1.1000 x = 0.1000 y = 1.1918 x = 0.2000 y = 1.2774 x = 0.3000 y = 1.3582 x = 0.4000 y = 1.4351 x = 0.5000 y = 1.5090 x = 0.6000 y = 1.5803 x = 0.7000 y = 1.6498 x = 0.800
2、0 y = 1.7178 x = 0.9000 y = 1.7848 x = 1.0000,二、梯形方法,三、单步法的局部截断误差与阶,四、改进的欧拉公式(预测校正法),clear x=0,yn=1 %初始化 for n=1:10 yp=yn+0.1*(yn-2*x/yn); %预测 x=x+0.1; yc=yn+0.1*(yp-2*x/yp) ; yn=(yp+yc)/2 %校正 end,作业:P381, 1, 2(1).,3 龙格库塔(Runge-Kutta)法,一、显式龙格库塔法的一般形式,二、二阶显式龙格库塔方法,三、三阶与四阶显式RK方法,阶数p和段数r(计算函数值次数)的关系,解:
3、h=0.2; x=0:0.2:1; y(1)=1;for i=1:5,k1=y(i)-2*x(i)/y(i); k2=y(i)+h/2*k1-(2*x(i)+h)/(y(i)+h/2*k1);k3=y(i)+h/2*k2-(2*x(i)+h)/(y(i)+h/2*k2);k4=y(i)+h*k3-2*(x(i)+h)/(y(i)+h*k3);y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);endx,y,x =0 0.2000 0.4000 0.6000 0.8000 1.0000y =1.0000 1.1832 1.3417 1.4833 1.6125 1.7321,四、变
4、步长RK方法,选择步长问题的提出.,选择步长问题的两个考虑: 怎样衡量和检验计算结果的精度? 如何依据所获得的精度处理步长?,通过步长加倍或减半处理步长的方法称为变步长方法.,作业:P381, 2(1), 5(1).,4 收敛性与稳定性,一、收敛性与相容性,二、绝对稳定性与绝对稳定性域,h=0.025; x=0:0.025:0.1; y1(1)=1;y2(1)=1; for i=1:4y1(i+1)=-1.5*y1(i); end for i=1:4y2(i+1)=y2(i)/3.5; end t=0:0.001:0.1; w=exp(-100*t); plot(x,y1,+,x,y2,.,t,w,-),n=5;h=1/n; x=0:h:1; y(1)=1;for i=1:nk1=-20*y(i); k2=-20*(y(i)+h/2*k1);k3=-20*(y(i)+h/2*k2);k4=-20*(y(i)+h*k3);y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);endformat short e; x,y,选做:P382, 7.,5 线性多步法,一、线性多步法的一般公式,二、Adams显式与隐式公式,三、米尔尼方法与辛普森方法(P366),四、汉明方法(P367),五、预测校正方法(P368),