背景:我有一个复杂的机械振荡系统。通过类比,我把它转换成一个电路(每个元件都是RLC振荡器)。计算电路的唯一方法是节点分析,它太复杂了,无法用手完成。
由于无法使用SimPowerSystems工具箱和符号数学工具箱,因此无法方便地使用传递函数块计算传递函数G(s)。
因此,我考虑使用自定义函数,但在查阅了文档之后,我仍然很无助。我希望在这里找到一些初步的想法。
我的系统可以用矩阵方程来描述:
A*x = y其中A是包含电路RLC阻抗的8x8矩阵,所以基本上每个元素都是多项式Z(s),例如Z_11(s) = (s^1+2s^0)/(s^2+3s-s^-1),s是laplace域变量。向量x是包含8个标量输出的8x1行向量。y是一个8x1行向量,其元素要么是我的4个输入信号中的一个,要么是0。
最后,我需要一个4输入8输出的Simulink模块来求解以s为变量的线性方程组。
我可以想象使用4个块,每个块只有一个输入(将其他输入设置为‘zero`’)并对它们进行叠加。只选择一个输出也是可以想象的。
有什么办法来实现这个吗?如何创建一个块,它在Laplace-域中工作,而不是在时间域中工作?
发布于 2013-09-03 07:58:56
需要用传递函数定义n x n系统矩阵:
W = minreal( [ tf( ... ) ... tf(...) ; ... ; tf( ... ) ... tf(...) ];例如:
Z_11(s) = (s^1+2s^0)/(s^2+3s-s^-1)->
Z_11 = tf( [1 2 0] , [1 3 -1] );通常有必要进行反演
H = inv(W);此矩阵可直接包含在“控制系统工具箱”的LTI-Sytem块中。输入输出矢量采用mux和demux嵌入。
在内部,LTI系统使用的是所提出的状态空间模型的n*n,因此对于大系统来说,手工创建它们将变得非常复杂。
发布于 2013-08-27 11:01:21
您可以按照您的建议使用4 传递函数 (SISO)块,但对于像您这样的MIMO系统,我建议您将系统转换为或重写为状态空间表示,并使用状态空间块。
https://stackoverflow.com/questions/18446653
复制相似问题