使用示例:
新增加的函数包:动力系统包/Dynamic Systems Package
使用动力系统包,首先加载 DynamicSystems:
| > |
 |
| > |
 |
应用示例: 直流电机
Maple 12 新增加动力系统包(DynamicSystems package),用户可以定义和分析线性定常系统。
通过下面的一个应用示例,简要介绍如何使用这个函数包。
通过下面的一个应用示例,简要介绍如何使用这个函数包。
给出直流电机的微分方程组,我们希望获得传递函数和系统的状态空间模型。然后在 Maple 中生成一个 Simulink S-Function,并对比一下 Simulink 和 Maple 的结果,可以发现 Maple 更具优势。直流电机转换电子信号为机械运动。

定义控制行为和对应参数的两个微分方程。
代码:
定义控制行为和对应参数的两个微分方程。
代码:
| > |
 |
![[`+`(`*`(L, `*`(diff(i(t), t))), `*`(R, `*`(i(t)))) = `+`(v(t), `-`(`*`(K, `*`(diff(theta(t), t))))), `+`(`*`(J, `*`(diff(diff(theta(t), t), t))), `*`(b, `*`(diff(theta(t), t)))) = `*`(K, `*`(i(t)))]](images/DynamicSystems_12.gif) |
(1.2) |
| > |
![`:=`(params, [J = 0.1e-1, K = 0.1e-1, L = .5, R = 1, b = .1])](images/DynamicSystems_13.gif) |
![[J = 0.1e-1, K = 0.1e-1, L = .5, R = 1, b = .1]](images/DynamicSystems_14.gif) |
(1.3) |
在这个函数包中,所有的操作都是在系统对象中,数据结构包含系统的信息,用户可获得下列类型的信息:
- 微分方程
- 变换函数
- 状态空间
- 零点/极点/增益模型列表
- 传递函数系数列表
利用上面定义的方程组创建一个系统对象:
代码:
| > |
![`:=`(sys, DiffEquation(deq, [v(t)], [theta(t), i(t)]))](images/DynamicSystems_15.gif) |
 |
(1.4) |
输出中的第一个参数是微分方程组列表,后面的参数分别是输入变量和输出变量列表。在本示例中输入是电压,输出是轴的转角位置,和电流消耗。
我们可以使用 PrintSystem 命令观察系统对象的属性。
代码:
| > |
 |
 |
(1.5) |
我们同样可以在不同的表达式之间转换,例如
代码:
注意:当我们在进行转换时,系统是符号形式的,也就是说,如果存在一些未定的参数,我们仍然可以进行转换。 数包还含有许多分析程序,下面是振幅图和相位波特图。
我们单独给出参数值的列表,因此我们可以不同参数集合对应的图形。我们保持让模型独立于参数值。同样,我们不要指定波特图中的频率范围,程序会自动确定最佳的范围。 下面是另外一个例子,我们应用一个特定的正弦输入信号,然后画出输出信号图。
| > |
 |
以上仅示范部分功能,想了解完整的命令列表,参见:
| > |
 |
|