资源描述:
《常微分方程实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《常微分方程》实验报告班级学号姓名课程编号81010117任课教师评分特别注意:1)上交作业只能为1个压缩文件.请把实验报告(.doc,word文件)和源文件(.m,Matlab程序文件)放在一个文件夹下后压缩,文件夹及压缩文件命名规则:学号+姓名。例如:201202000526刘大壮.rar。每一M文件只能用于求解一个小题,m文件命名格式:ex1_1.m,ex2.m.2)实验报告当场做完后进行提交,作为最终成绩的评判材料。一、实验目的及要求实验要求学生熟练掌握Matlab在常微分方程中的应用,主要涉及以下四个方面:1、掌握Matlab中用于求常微分方程解析解的方法;2
2、、了解微分方程数值解的求解方法,向量场、等高线等图形的做法;3、熟悉矩阵、行列式与代数方程组的求解方法;4、熟悉拉普拉斯变换方法求解初值问题的过程。二、用Matlab完成以下作业1.求下列微分方程(组)的解析解,并验证解是否正确:(1)bayy+='(2)(3)2.求解微分方程先求解析解,再求数值解,并作图比较。3.求解方程首先看是否存在解析解,若不存在,求其数值解并作图.不妨取.54.求下面方程组的奇点,并通过变换将奇点变为原点,进一步判断奇点的类型及稳定性。5.做V函数的等高线图。6.做方程组的轨线图及向量场。7.模拟laplace变换方法求解方程组初值问题:其中。
3、三、问题及建议实事求是的分析你在实验过程或常微分方程课程学习中遇到的问题,给出你的建议。5实验报告5附录:Matlab在常微分方程中常用命令一.解析解:1.dsolve('equ1','equ2',…):Matlab求微分方程的解析解.equ1、equ2、…为方程(或条件).写方程(或条件)时用Dy表示y关于自变量的一阶导数,用用D2y表示y关于自变量的二阶导数,依此类推.2.simplify(s):对表达式s使用maple的化简规则进行化简.二.数值解:[T,Y]=solver(odefun,tspan,y0)求微分方程的数值解.说明:1.其中的solver为命令od
4、e45、ode23、ode113、ode15s、ode23s、ode23t、ode23tb之一.2.odefun是显式常微分方程:3.在积分区间tspan=上,从到,用初始条件求解.4.要获得问题在其他指定时间点上的解,则令tspan=(要求是单调的).5.因为没有一种算法可以有效地解决所有的ODE问题,为此,Matlab提供了多种求解器Solver,对于不同的ODE问题,采用不同的Solver.求解器SolverODE类型特点说明ode45非刚性单步算法;4、5阶Runge-Kutta方程;累计截断误差达大部分场合的首选算法ode23非刚性单步算法;2、3阶Runge
5、-Kutta方程;累计截断误差达使用于精度较低的情形ode113非刚性多步法;Adams算法;高低精度均可到计算时间比ode45短ode23t适度刚性采用梯形算法适度刚性情形ode15s刚性多步法;Gear's反向数值微分;精度中等若ode45失效时,可尝试使用ode23s刚性单步法;2阶Rosebrock算法;低精度当精度较低时,计算时间比ode15s短ode23tb刚性梯形算法;低精度当精度较低时,计算时间比ode15s短6.要特别的是:ode23、ode45是极其常用的用来求解非刚性的标准形式的一阶常微分方程(组)的初值问题的解的Matlab的常用程序,其中:5o
6、de23采用龙格-库塔2阶算法,用3阶公式作误差估计来调节步长,具有低等的精度.ode45则采用龙格-库塔4阶算法,用5阶公式作误差估计来调节步长,具有中等的精度.三.相关作图函数:1.向量场:(1)quiver(x,y,u,v) 该函数使用箭头来直观的显示矢量场,表示通过在(x,y)指定的位置绘制小箭头来表示以该点为起点的向量(u,v);(2)quiver3(x,y,z,u,v,w)该函数在(x,y,z)处显示(u,v,w)向量。2.等高线图:(1)contour(x,y,z,m)该函数用于绘制m条等高线平面图;(2)contour3(x,y,z,[a,b])绘制z在
7、[a,b]范围内的等高线立体图。四.辅助计算(矩阵、行列式与代数方程组解):1.指数函数:(1)exp(A) 矩阵A的指数函数;(2)exp2(A) Taylor级数求矩阵A的指数;(3)exp3(A) 特征值特征向量法求矩阵A的指数;2.特征值与特征向量:[V,D]=eig(A)求矩阵A的特征值与特征向量。3.代数方程组解:(1)x=Ab解矩阵方程Ax=b;(2)[x,y]=solve(‘enq1’,’eqn2’)解方程组eqn1,eqn2,变量为x,y五.Laplace变换与逆变换:L=laplace(F,t,z)laplace变换