还剩10页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
第四讲Matlab求解微分方程(组)理论介绍Matlab求解微分方程(组)命令求解实例Matlab求解微分方程(组)实例实际应用问题通过数学建模所归纳得到的方程,绝大多数都是微分方程,真正能得到代数方程的机会很少.另一方面,能够求解的微分方程也是十分有限的,特别是高阶方程和偏微分方程(组).这就要求我们必须研究微分方程(组)的解法解析解法和数值解法.一.相关函数、命令及简介
1.在Matlab中,用大写字母D表示导数,Dy表示y关于自变量的一阶导数,D2y表示y关于自变量的二阶导数,依此类推.函数dsolve用来解决常微分方程(组)的求解问题,调用格式为X=dsolve‘eqn1’’eqn2’…函数dsolve用来解符号常微分方程、方程组,如果没有初始条件,则求出通解,如果有初始条件,则求出特解.注意,系统缺省的自变量为t
2.函数dsolve求解的是常微分方程的精确解法,也称为常微分方程的符号解.但是,有大量的常微分方程虽然从理论上讲,其解是存在的,但我们却无法求出其解析解,此时,我们需要寻求方程的数值解,在求常微分方程数值解方面,MATLAB具有丰富的函数,我们将其统称为solver,其一般格式为[TY]=solverodefuntspany0说明1solver为命令ode
45、ode
23、ode
113、ode15s、ode23s、ode23t、ode23tb、ode15i之一.2odefun是显示微分方程在积分区间tspan上从到用初始条件求解.3如果要获得微分方程问题在其他指定时间点上的解,则令tspan要求是单调的.4因为没有一种算法可以有效的解决所有的ODE问题,为此,Matlab提供了多种求解器solver,对于不同的ODE问题,采用不同的solver.表1Matlab中文本文件读写函数求解器ODE类型特点说明ode45非刚性单步算法
4、5阶Runge-Kutta方程;累计截断误差大部分场合的首选算法ode23非刚性单步算法
2、3阶Runge-Kutta方程;累计截断误差使用于精度较低的情形ode113非刚性多步法Adams算法;高低精度可达计算时间比ode45短ode23t适度刚性采用梯形...。