Multi-dimensional State-Space model in Simulink
2 次查看(过去 30 天)
显示 更早的评论
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?
0 个评论
回答(2 个)
Jonathan Epperl
2014-1-8
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).
0 个评论
Thijs
2014-1-9
1 个评论
Jonathan Epperl
2014-1-9
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Sources 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!