Main Content

modalsum

Sum of modal components

Since R2023b

    Description

    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.

    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--")

    MATLAB figure

    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

    Go to top of page