在 Mathematica 中定义线性时滞系统并绘制其伯德图和奈奎斯特图
我有一个时滞系统的特征方程,但无法使用 Mathematica 中的 StateSpaceModel 或 TransferFunctionModel 命令定义它;因为这些命令只适用于线性系统,没有延迟。
我的目的是在 Mathematica 8.0.1 中定义一个时间延迟系统并绘制< em>伯德图和奈奎斯特像这样的系统的图表:
g = ((s + 1) (1-E^(-2 s) + E^(-3 s)))/(s^2 + 2 s + 10)
I have a characteristic equation of a time-delay system and i can't define it with StateSpaceModel
or TransferFunctionModel
command in Mathematica; Because these commands only work for linear systems without delay.
My purpose is to define a Time-Delay system in Mathematica 8.0.1 and plotting Bode Diagram and Nyquist Diagram for a system like this:
g = ((s + 1) (1-E^(-2 s) + E^(-3 s)))/(s^2 + 2 s + 10)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
从文档来看,MMA 似乎期望传递函数是多项式的。 TransferFunctionModel 的文档页面显示:
我见过的所有例子都有多项式的分子和分母。
Matlab 的 bodeplot 也不做纯粹的时间延迟。
有时人们会听到使用指数的 Padé 近似的建议。这可以通过 mma 函数 PadeApproximant 来完成。
但是,这似乎仅对相当低的频率有效(第一个 180 度的相位变化左右) )如所述 这里。
Judging from the documentation, it seems MMA expects transfer functions to be polynomial. The doc page for TransferFunctionModel says:
All the examples I have seen have polynomials in the nominator and denominator.
Matlab's bodeplot also doesn't do pure time delays.
One sometimes hears the suggestion to use a Padé approximation of the exponential. This could be done with the mma function
PadeApproximant
.However, this seems to be valid only for rather low frequencies (the first 180 degrees of phase change or so) as stated here.