数值求解思想:
(变量离散化
引入自变量点列niNn,在X<x;<x2...上求v(x.)的近似值, Xn通常取等步长h,即Xn=x+nXh,或x,=x-+ h, (n=1,2,...).
在小区间Lxn,x+l]上用差商代替微商(近似)V(xt)-y(x)h
向前欧拉公式:’=f(x, y) )y(xn+)~y(x,)+ h /xn,y(x,)) (送代式)Jnt1~Yn + h/(xn,) (近似式)特点: /(x,y)取值于区间[x,xt1]的左端点
特点:
(x,y)取值于区间[x, xt]的右端点非线性方程,称“隐式公式’
例 1
y'=-y+x+1,1(0)=1,h =0.1其中f(x,y)=-y+x+1
观察向前欧拉、向后欧拉算法计算情况。与精确解进行比较。误差有多大?
解: 1) 解析解: y=x+e
代码
x1(1)=0;y1(1)=1;y2 (1)=1;h=0.1for k=1:10
x1(k+1)=x1(k)+h ;
y1 (k+1)=(1-h)*y1(k) +h*x1 (k) +h ;y2 (k+1)=(y2 (k) +h*x1 (k+1) +h) / (1+h) :
end
x1,Y1,Y2,号 (y1-向前欧拉解,y2--向后欧拉解)x=0:0.1:1;
y=x+exp(-x)号(解析解plot(x,y,x1,y1,'k:',x1,y2,'r--