资源描述:
《应用 第十章 常微分方程ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MATLAB数学实验实验十常微分方程实验目的掌握用MATLAB求微分方程及方程组解析解的方法,学习求微分方程近似解的欧拉折线法和龙格-库塔法。10.1学习MATLAB命令10.1.1求常微分方程的符号解函数dsolve('eq1,eq2,…','cond1,cond2,…','v')输入符号形式的常微分方程(组)'eq1,eq2,…'及初始条件'cond1,cond2,…';默认的自变量是't',如果要指定自变量'v',则在方程组及初始条件后面加'v',并用逗号分开。在常微分方程(组)的表达式eqn中,大写字母D表示对自变量(默认为t)的微分算子:D=d/dt,D2=d^2/dt
2、^2,…。算子D后面的字母则表示因变量,即待求解的未知函数。返回的结果中可能会出现任意常数C1,C2等。若命令找不到解析解,则返回一警告信息。例如,输入下面的方程都可以得到其解:dsolve('Dx=-a*x')%ans=C2/exp(a*t)x=dsolve('Dx=-a*x','x(0)=1','s')%输出x=1/exp(a*s)w=dsolve('D3w=-w','w(0)=1,Dw(0)=0,D2w(0)=0')%输出略[f,g]=dsolve('Df=f+g','Dg=-f+g','f(0)=1','g(0)=2')%输出略10.1.2求常微分方程组初值问题的数值解函数
3、[T,Y]=ode23(odefun,tspan,y0)[T,Y]=ode45(odefun,tspan,y0)这两个命令都是求解导数已经解出的一阶微分方程y'=f(t,y)满足初始条件y0的数值解。输入参数odefun为M文件定义的函数或inline格式的函数f(t,y);tspan=[t0,tf]表示求解区间(从t0到tf)。输出的解矩阵Y中的每一行对应于返回的时间列向量T中的一个时间点。要获得问题在其他指定时问点t0,t1,t2,…上的解,则令tspan=[t0,t1,t2,…,tf](要求是单调的)。10.2实验内容10.2.1求微分方程的解析解对于可以用积分方法求解的微分
4、方程和微分方程组,可用dsolve命令来求其通解或特解。例如要求方程y''+y'-2y=0的通解,通过输入:y=dsolve('D2y+D1y-2*y=0','x')%一阶导数符号是D1y或Dy,二阶导数符号是D2y执行以后就能得到含有两个任意常数C12和C13的通解:y=C12*exp(x)+C13/exp(2*x)如果想求解微分方程的初值问题:,,,则只要输入:y=dsolve('D2y+4*Dy+3*y=0','y(0)=6,Dy(0)=10','x')%用单引号对''把方程和初始条件分别括起来输出为:y=14/exp(x)-8/exp(3*x)【例1】求微分方程的通解。输入
5、:clear;dsolve('Dy+2*x*y=x*exp(-x^2)','x')便得到微分方程的通解:ans=C1/exp(x^2)+x^2/(2*exp(x^2))其中C1是任意常数。【例2】求微分方程在初始条件下的特解。输入:clear;dsolve('x*Dy+y-exp(-x)=0','y(1)=2*exp(1)','x')就可以得到特解:ans=(1/exp(1)-1/exp(x)+2*exp(1))/x【例3】求微分方程的通解。输入:clear;simplify(dsolve('D2y-2*Dy+5*y=exp(x)*cos(2*x)','x'))便得到通解:(exp
6、(x)*(x*sin(2*x)+4*C13*cos(2*x)+4*C14*sin(2*x)))/4解微分方程组时的命令格式为[x,y]=dsolve('Dx=f(x,y)','Dy=g(x,y)')或s=dsolve('Dx=f(x,y)','Dy=g(x,y)‘)【例4】求方程组在条件下的特解。输入:clear;[x,y]=dsolve('Dx=-x-2*y+exp(t)','Dy=x+y','x(0)=1','y(0)=0')或[x,y]=dsolve('Dx=-x-2*y+exp(t)','Dy=x+y','x(0)=1,y(0)=0')则得到特解:x=cos(t)y=exp
7、(t)/2-cos(t)/2+sin(t)/210.2.2欧拉折线法首先扼要介绍欧拉折线法的思想。给定微分方程和初始条件,考虑的线性近似:如果在包含的很短的区间内,则函数是的很好近似。欧拉折线法是通过一系列线性近似得到在较长区间内的近似解。设,如果增量很小,则:是对精确值的很好近似。所以从曲线上的点出发首先得到与非常近似的。再利用和斜率,可以进行下一步。设,再通过线性近似:得到的近似值。第三步,由和斜率得到:……连接,,,,…的折线就是微分方程满足初始条件的一个近似解