# modalsum

Sum of modal components

Since R2023b

## Syntax

``G = modalsum(H,H0)``

## Description

````G = modalsum(H,H0)` takes a model array `H` and a static gain `H0` and returns the sum$G\left(s\right)={H}_{0}+\sum _{j=1}^{N}{H}_{j}\left(s\right)$where Hj(s) are the `H(:,:,j)`) models in the array `H`.`modalsum` is useful to sum up a subset of modal components computed using `modalsep`.```

example

## Examples

collapse all

This example shows how to retain only a subset of modal components from a modal decomposition. In this example you perform modal decomposition and retain the modes with a relative DC contribution of more than 10% by summing those components.

Create a random states-space model with order 10.

```rng(0) G = rss(10,2,2);```

Obtain the modal decomposition. Also, obtain the `info` output argument to store the modal information.

```[H,H0,info] = modalsep(G); size(H)```
```9x1 array of state-space models. Each model has 2 outputs, 2 inputs, and between 1 and 2 states. ```

The decomposition returns nine modal components.

To obtain the subset of modal components with a relative DC contribution of more than 10%, use the `DCGain` property of the `info` output argument.

```Hsub = H(:,:,(info.DCGain>0.1)); size(Hsub);```
```4x1 array of state-space models. Each model has 2 outputs, 2 inputs, and 1 states. ```

The subset contains four modal components. Obtain the sum of modal components using `modalsum`.

```Gr = modalsum(Hsub,H0); order(Gr)```
```ans = 4 ```

Compare the Bode responses of the two models.

`bode(G,Gr,"r--")`

## Input Arguments

collapse all

Modal components, specified as an array of models. Typically, you obtain such an array using `modalsep`.

Static gain, specified as a matrix value or a static `ss` object.

## Output Arguments

collapse all

Sum of modal components, returned as model of same type as models in the array `H`.

## Version History

Introduced in R2023b