Multi-dimensional State-Space model in Simulink

6 views (last 30 days)
As a result from a certain model, I get a 3x3 SS. There are three inputs (Acceleration x, Acceleration y, Acceleration rz) and three outputs (Pressure x, Pressure y, Pressure rz).
However, I only know how to implement one of the 9 (3x3) SS representation (for example acceleration x to pressure x) in the `State-Space' block.I know how to mux and demux the acceleration and pressures.
So my question is: How do I get the 3x3 SS in one `State-Space' block?

Answers (2)

Jonathan Epperl
Jonathan Epperl on 8 Jan 2014
If you have the state-space description of you 3 x 3 system, why don't you just enter it into the parameters of the state-space block? It accepts matrices for B, C and D, not just vectors. The only obstacles I can imagine is that you might not be able to enter 0 for D, but it would have to be zeros(3,3).

Thijs on 9 Jan 2014
I'm sorry I might have been unclear.
I have 9 SS representations (a_x to p_x, a_x to p_y, etc.), with A, B, C and D matrices (which are for example 21x21).
So instead of making 9 `State-Space' blocks in Simulink, I would like to have one block if that is possible. Or do I need to make a subsystem with the 9 blocks?
  1 Comment
Jonathan Epperl
Jonathan Epperl on 9 Jan 2014
Makes a little more sense now. It sounds like you need to 'assemble' it all into one system. As a primitive example:
You have a system dxdt = Ax + Bu, y = Cx +Du and another one dqdt = Fq+Gr, s = Hq + Jr.
You can combine them into one system by defining z'=[x q], v'=[u r], w'=[y s] (so just stacking the signals) and A1 = blkdiag(A,F), B1 =blkdiag(B, G) and so on to obtain dzdt = A1*z + B1*v and w = C1*z + D1*w.
At least I think so ;)
I'm not sure whether that's such a great idea though. Before you had 9 A-matrices, 21 x 21 each, so 9*21^2=3,969 elements to be stored. If you stack the states to get a single system, the size of the A-matrix will be 9*21 x 9*21, which are 35,721 elements.

Sign in to comment.


Find more on Component-Based Modeling in Help Center and File Exchange


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!