Main Content

nblocks

Number of control design blocks in generalized LTI model or generalized matrix

Description

N = nblocks(M) returns the number of control design blocks in the generalized LTI model or generalized matrix M.

Examples

collapse all

  1. Create a tunable (parametric) model of the second-order filter:

    F(s)=ωn2s2+2ζωn+ωn2,

    where the damping ζ and the natural frequency ωn are tunable parameters.

    wn = realp('wn',3);
    zeta = realp('zeta',0.8);
    F = tf(wn^2,[1 2*zeta*wn wn^2]);

    F is a genss model with two tunable control design blocks, the realp blocks wn and zeta. The blocks wn and zeta have initial values of 3 and 0.8, respectively.

  2. Examine the number of tunable blocks in the model using nblocks.

    nblocks(F)

    This command returns the result:

    ans =
    
         6

    F has two tunable parameters, but the parameter wn appears five times — twice in the numerator and three times in the denominator.

  3. Rewrite F for fewer occurrences of wn.

    The second-order filter transfer function can be expressed as follows:

    F(s)=1(sωn)2+2ζ(sωn)+1.

    Use this expression to create the tunable filter:

    F = tf(1,[(1/wn)^2 2*zeta*(1/wn) 1])
  4. Examine the number of tunable blocks in the new filter model.

    nblocks(F)

    This command returns the result:

    ans =
    
         4

    In the new formulation, there are only three occurrences of the tunable parameter wn. Reducing the number of occurrences of a block in a model can improve performance time of calculations involving the model. However, the number of occurrences does not affect the results of tuning the model or sampling the model for parameter studies.

Input Arguments

collapse all

Generalized matrix or model, specified as a generalized LTI model (genss or genfrd object), a generalized matrix (genmat object), or an array of such objects.

Output Arguments

collapse all

Number of Control Design Blocks in M, returned as an integer when M is a single model or integer array when M is a model array.

If M is a model array, N is an array with the same dimensions as M. Each entry of N is the number of control design blocks in the corresponding entry of M.

If a block appears multiple times in M or an element of M, N reflects the total number of occurrences.

Version History

Introduced in R2011a