1

Background: I have a complex mechanical oscillation system. With analogies I transformed it into an electrical circuit (every element is a RLC-oscillator). The only way to calculate the circuit is nodal analysis and it's too complex to do it by hand.

As the Symbolic Math Toolbox and the SimPowerSystems toolbox is not available, there is no convenient way to calculate the transfer function G(s) to use the transfer function block.

So I thought about using custom functions, but after consulting the documentation I'm still quite helpless. I hope to find some initial thoughts here.

My system can by described by the matrix equation:

A*x = y

where A is a 8x8 Matrix containing the RLC-impedances of my circuit, so basically every element is a polynomial Z(s) e.g. Z_11(s) = (s^1+2s^0)/(s^2+3s-s^-1) where s is the laplace-domain variable. The vector x is a 8x1 row vector containing my 8 scalar outputs. And y is a 8x1 row vector whose elements are either one of my 4 input signals or 0.

Finally I need a Simulink block with 4 inputs and 8 outputs which solves the linear equation system with s as variable.

Alternative I could imagine to use 4 blocks with just one input each (setting the other inputs to ´zero`) and superpose them. The selection of just one output is thinkable also.

Is there any way to implement this? How can I create a block, which works in the Laplace-Domain and not in the time-domain?

4

2 回答 2

1

系统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-09-03T07:58:56.013 回答
1

您可以按照您的建议使用 4 个传递函数(SISO) 块,但对于像您这样的 MIMO 系统,我建议您将系统转换为或重写为状态空间表示并使用状态空间块反而。

于 2013-08-27T11:01:21.793 回答