在Mathematica中定义一个线性时滞系统并绘制它的Bode和Nyquist图

时间:2011-05-27 08:24:31

标签: wolfram-mathematica mathematica-8 control-theory

我有一个时间延迟系统的特征方程式,我无法使用 Mathematica 中的StateSpaceModelTransferFunctionModel命令定义它;因为这些命令仅适用于线性系统而没有延迟。

我的目的是在 Mathematica 8.0.1 中定义一个时间延迟系统,并为这样的系统绘制Bode DiagramNyquist Diagram

g = ((s + 1) (1-E^(-2 s) + E^(-3 s)))/(s^2 + 2 s + 10)

1 个答案:

答案 0 :(得分:0)

从文档来看,似乎MMA期望传递函数是多项式的。 TransferFunctionModel的doc页面说:

  

在   TransferFunctionModel [{NUM,书房},变种]   num必须是多项式矩阵和   den可以指定为多项式   矩阵或只是共同点   多项式。

我见过的所有例子都在分母和分母中有多项式。

Matlab的波特率也不会产生纯粹的时间延迟。

有时听到建议使用指数的Padé近似。这可以使用mma函数PadeApproximant来完成。

enter image description here

然而,这似乎仅对于相当低的频率(相位变化的前180度左右)有效,如here所述。