您好,欢迎访问三七文档
桂林电子科技大学数学与计算科学学院实验报告实验室:实验日期:年月日院(系)数学与计算科学学号姓名成绩课程名称数学应用软件实验实验项目名称微分方程求解指导教师覃义一、实验目的1.学会通过MATLAB用数值和解析两种方法求解微分方程;2.通过实例学习用微分方程解决实际问题;二、实验原理1.符号微分方程的求解dsolvedsolve语句中用字母D来表示求微分,D2,D3等表示重复求微分,并以此来设定方程。任何D后面所跟的字母为因变量。独立变量可以指定或由symvar规则选定为缺省。Dsolve函数也可以用来求解微分方程组,其调用格式为:y=dsolve(‘eq1’,’eq2’,….,’eqn’,’cond1’,’cond2’,...,’condm’,’v’)其中‘eq1’,’eq2’,….,’eqn’是微分方程,’cond1’,’cond2’,...,’condm’是初始条件,v为自变量。2.常微分方程的数值解在微分方程难以得到解析解的情况下,可以求其数值解,其调用格式为:[T,Y]=solver(odefun,tspan,y0)说明:(1)其中solver为命令ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb之一;(2)odefun是显式常微分方程:00(,)()dyftydtyty(3)在积分区间tspan=[t0,tf]上,用初始条件y0求解。(4)要获得问题在其他指定的时间点t0,t1,...,tf上的解,则令tspan=[t1,t2,...,tf](单调)。(5)因为没有一种中以有效地解决所有的ODE问题,为此MATLAB提供了多种求解器solver,对于不同的ODE问题,采用不同的solver:求解器solverODE类型特点说明ode45非刚性单步算法;4-5阶龙格-库塔方程;累计截断误差在3()x大部分场合的首选算法ode23非刚性单步算法;2-3阶龙格-库塔方程;累计截断误差在3()x使用精度较低的场合ode113非刚性多步算法;Adams算法;高低精度均可达到361010计算时间比ode45短ode23t适度刚性采用梯形算法适度刚性场合ode15s刚性多步法;Gear’s反向数值微分;精度中等ode45失效时可以尝试使用ode23s刚性单步法;2阶Rosenbrock算法;低精度当精度较低时,计算时间比ode45要短ode23tb刚性梯形算法;低精度当精度较低时,计算时间比ode45要短(6)特别要提到的是:ode23、ode45是极其常用的用来求解非刚性的标准形式的一阶常微分方程(组)的初值问题的解的MATLAB的常用程序,其中ode23:采用龙格-库塔2阶算法,用3阶公式作误差估计来调节步长,具有较低的精度。ode45:采用龙格-库塔4阶算法,用5阶公式作误差估计来调节步长,具有中等的精度。3.inline():建立一个内联函数。格式为:inline(‘expr’,’var1’,’var2’,...,’varn’),注意括号内的表达式要用单引号。三、实验内容1.求解微分方程:2tancosdyyxxdx.2.求解微分方程:22()0xydxxydy.3.求解微分方程''sin(2)yxy在初始条件(0)0,'(0)1yy的特解。4.求解微分方程初值问题22(0)1dyyxdxy的数值解,求解范围为区间[0,1]5.求解微分方程初值问题333(cos)22()()xdyyxexxdxxye的数值解,求解范围为区间[,2]6.求一曲线方程,该曲线经过原点,且在点(,)xy处的切线低斜率为2xy.7.求微分方程(4)2yyx的通解.8.求微分方程''2'5sin(2)xyyyex的通解.9.设有一均匀、柔软的绳索,两端固定,绳索仅受重力的作用而下垂,试问该绳索在平衡状态时是怎样的曲线?四、实验过程原始记录(数据,图表,计算等)1.求解微分方程:2tancosdyyxxdxdsolve('Dy+y*tan(x)=(cos(x))^2')ans=(cos(x)^2-C2/exp(t*tan(x)))/tan(x)dsolve('Dy+y*tan(x)=(cos(x))^2','x')ans=sin(2*x)/2+C12*cos(x)2.求解微分方程:22()0xydxxydy.dsolve('Dy=(x^2+y^2)/(x*y)','x')ans=2^(1/2)*x*(C16+log(x))^(1/2)-2^(1/2)*x*(C16+log(x))^(1/2)3.求解微分方程''sin(2)yxy在初始条件(0)0,'(0)1yy的特解。y=dsolve('D2y=sin(2*x)-y','Dy(0)=1','y(0)=0','x')y=sin(4*x)/12-sin(2*x)/6+(7*sin(x))/3-(4*sin(x)*(3*tan(x/2)^4+1))/(3*(tan(x/2)^2+1)^3)4.求解微分方程初值问题22(0)1dyyxdxy的数值解,求解范围为区间[0,1]fun=inline('2*y+x+2')fun=Inlinefunction:fun(x,y)=2*y+x+2fun=inline('2*y+x+2')fun=Inlinefunction:fun(x,y)=2*y+x+2[x,y]=ode23(fun,[0,1],1)x=00.02000.12000.22000.32000.42000.52000.62000.72000.82000.92001.0000y=1.00001.08181.55012.13322.85643.75064.85396.21257.88289.933912.450014.86655.求解微分方程初值问题333(cos)22()()xdyyxexxdxxye的数值解,求解范围为区间[,2]fun=inline('3*y./x+x^3.*(exp(x)+cos(x))-2*x')fun=Inlinefunction:fun(x,y)=3*y./x+x^3.*(exp(x)+cos(x))-2*x[x,y]=ode23(fun,[pi,2*pi],(exp(pi)+2/pi)*pi^3)x=3.14163.18423.34883.51973.69343.87004.04954.23184.41714.60534.79634.99015.18665.38575.58745.79155.99796.20666.2832y=1.0e+005*0.00740.00800.01080.01480.02020.02770.03790.05180.07100.09710.13290.18180.24880.34020.46520.63570.86861.18621.32876.求一曲线方程,该曲线经过原点,且在点(,)xy处的切线低斜率为2xy.即:dsolve('Dy=2*x+y','y(0)=0','x')ans=-2*x-2+2*exp(x)7.求微分方程(4)2yyx的通解.dsolve('D4y-y=x^2','x')ans=-x^2+C1*sin(x)+C2*cos(x)+C3*exp(x)+C4*exp(-x)8.求微分方程''2'5sin(2)xyyyex的通解.dsolve('D2y-2*Dy+5*y=exp(x)*sin(2*x)','x')ans=exp(x)*sin(2*x)*C2+exp(x)*cos(2*x)*C1-1/8*exp(x)*(-sin(2*x)+2*cos(2*x)*x)9.设有一均匀、柔软的绳索,两端固定,绳索仅受重力的作用而下垂,试问该绳索在平衡状态时是怎样的曲线?受力分析:设密度为ρ,A点处张力大小为H,点M处的张力大小为T,且张力与水平线成夹角xyHAsgsMBTo因作用于AM弧的外力相互平衡,得.cos,sinHTgsT,1tansa.gHa五、实验结果分析或总结通过本次实验,我学会通过MATLAB用数值和解析两种方法求解微分方程,通过实例学习用微分方程解决实际问题。
本文标题:微分方程求解
链接地址:https://www.777doc.com/doc-2435395 .html