modreal
Modal form realization and projection
Syntax
[G1,G2] = modreal(G,cut)
Description
[G1,G2] = modreal(G,cut)
returns a set of state-space LTI objects G1
and G2
in modal form given a state-space G
and the model size of G1
, cut
.
The modal form realization has its A matrix in block diagonal form with either 1x1 or 2x2 blocks. The real eigenvalues will be put in 1x1 blocks and complex eigenvalues will be put in 2x2 blocks. These diagonal blocks are ordered in ascending order based on eigenvalue magnitudes.
The complex eigenvalue a+bj is appearing as 2x2 block
This table describes input arguments for modreal
.
Argument | Description |
---|---|
G | LTI model to be reduced. |
cut | (Optional) an integer to split the realization. Without it, a complete modal form realization is returned |
This table lists output arguments.
Argument | Description |
---|---|
G1,G2 | LTI models in modal form |
G
can be stable or unstable. G1 = (A1, B1, C1, D1), G2 = (A2, B2, C2, D2) and D1 = D + C2(–A2)–1B2 is calculated such that the system DC gain is preserved.
Examples
Given a continuous stable or unstable system, G
, the following commands can get a set of modal form realizations depending on the split index -- cut
:
rng(1234,'twister'); G = rss(50,2,2); [G1,G2] = modreal(G,2); % cut = 2 for two rigid body modes G1.D = zeros(2,2); % remove the DC gain of the system from G1 sigma(G,G1,G2)
Algorithms
Using a real eigen structure decomposition reig
and ordering the eigenvectors in ascending order according to their eigenvalue magnitudes, we can form a similarity transformation out of these ordered real eigenvectors such that he resulting systems G1
and/or G2
are in block diagonal modal form.
Note
This routine is extremely useful when model has jω-axis singularities, e.g., rigid body dynamics. It has been incorporated inside Hankel based model reduction routines - hankelmr
, balancmr
, bstmr
, and schurmr
to isolate those jω-axis poles from the actual model reduction process.
Version History
Introduced before R2006a