Main Content

modalsum

Sum of modal components

Since R2023b

    Description

    example

    G = modalsum(H,H0) takes a model array H and a static gain H0 and returns the sum

    G(s)=H0+j=1NHj(s)

    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.

    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

    See Also