Maple中的微分代数方程求解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Part10:Maple中的微分代数方程求解

西希安工程模拟软件(上海)有限公司,2008

10.0 Maple中的微分方程求解器介绍

Maple中微分方程求解器使用领先的算法求解以下问题:

常微分方程 (ODEs): dsolve 命令用于求解线性和非线性ODEs, 初始值问题 (IVP), 以及边界值问题 (BVP),可以通过参数项选择求符号解 (解析解) 或数值解。ODE Analyzer Assistant 微分方程分析器助手提供一个交互式用户界面方便用户求解 ODE 以及显示结果的图形。了解更多信息,参考帮助系统中的 dsolve, dsolve/numeric, 和 ODE Analyzer.

偏微分方程 (PDEs): pdsolve 命令用于求 PDEs 和含边界值问题的 PDEs 的符号解或数值解。使用Maple的PDE工具可以完成对PDE系统的结构分析和指数降阶处理。了解更多信息,参考帮助系统中的 pdsolve and pdsolve/numeric.

微分-代数方程 (DAEs): dsolve/numeric 命令是符号-数值混合求解器,使用符号预处理和降阶技术,让Maple能够求解高指数的DAE问题。Maple内置三个求解器用于处理DAEs:1)修正的 Runge-Kutta Fehlberg 方法,2)Rosenbrock 方法,以及 3)修正的拓展后向差分隐式方法。

10.1 Maple中的微分代数方程(DAEs)

更多亮点:

大部分情况下,通过识别是否存在因变量的纯代数方程,dsolve命令可以判断给定的问题是否是微分代数方程,而不是常微分方程。如果输入是一个不含有纯代数方程的微分代数方程,使用solve求解时需要用method参数指定对象是一个微分代数方程。

dsolve 有三种数值方法求解DAEs。默认的 DAE IVP 方法是 modified Runge-Kutta Fehlberg method (rkf45_dae),另两个方法是 rosenbrock_dae 和 Modified Extended Backward-Differentiation Implicit method (mebdfi),可以通过 method 参数项指定。

Maple 的ODE数值求解器和DAE IVP(初值问题)求解器可以处理用户自定义事件。

关于求解DAEs的更多信息,请参考帮助 dsolve/numeric 和 dsolve/numeric/DAE.

(1)

(2)

(4)

(3)

(6)

(5)

在本文中,我们将求解两个DAE问题,第一个问题仅调用 dsolve/numeric 命令,使用默认的 DAE 求解器;第二个问题指定 Mebdfi 方法。

10.1.1 高阶DAEs:笛卡儿坐标下的一个简单的单摆

在这个例子中,我们对建立了笛卡尔坐标系下的单摆模型。这个问题表示为一个index-3 DAE,我们在 dsolve 命令指定 numeric 参数项。然后是用 plots[odeplot] 绘制结果的图形。

加载 plots 绘图功能包,

运动方程:

是单摆的位置坐标,

是刚性连杆上的压缩力。

DAE系统的指数可以通过对约束方程 (

) 重复求导获得:

(10)

(9)(7)

(8)

最后一个方程中的 的系数是(见 ),这个方程是是一个常微分方程,

DAEs方程组的指数为3。(对约束方程求导三次后得到常微分方程。)现在,求解这个方程组,并画出结果的图形:

x, y

1

vx, vy

123

4

(11)

(12)

z

10.1.2 使用指定的方法求解DAE:物体相互作用的范例

这是三个变量的问题,不能使用Maple默认的数值ODE求解器求解,但可以通过指定的

DAE求解器求解。

首先我们使用 PDEtools[declare] 用撇号()显示导数。

上的。

(12)

(13)

10.2 练习

10.3.1 求线性常微分方程的解析解

问题:

求解,初始条件

答案

直接使用鼠标求解。不要担心结果里面的常数。

可以通过在表达式中定义初始条件 ,重新求解。

solve DE

solve DE

solve DE

solve DE

10.3.2 求解常微分方程组

求解两个二次常微分方程组:和。

答案

首先定义微分方程组:

(16)

(17)

(14)

(18)

(15)

的解。

10.3.3 求常微分方程初始值问题的数值解

答案

Solve DE

相关帮助

dsolve , dsolve/numeric , dsolve/numeric/DAE , pdsolve

相关文档
最新文档