# 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

`$\left[\begin{array}{cc}a& b\\ -b& a\end{array}\right]$`

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