Number of blocks in Generalized matrix or Generalized LTI model
N = nblocks(M)
returns
the number of Control Design Blocks in the Generalized
LTI model or Generalized matrix N
= nblocks(M
)M
.
|
A Generalized LTI model
( |
|
The number of Control Design Blocks in If |
Number of Control Design Blocks in a Second-Order Filter Model
This example shows how to use nblocks
to examine two different ways of
parameterizing a model of a second-order filter.
Create a tunable (parametric) model of the second-order filter:
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.
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.
Rewrite F
for fewer occurrences
of wn
.
The second-order filter transfer function can be expressed as follows:
Use this expression to create the tunable filter:
F = tf(1,[(1/wn)^2 2*zeta*(1/wn) 1])
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.