Package: sdo.requirements
Bode magnitude bound
bode_req = sdo.requirements.BodeMagnitude
bode_req =
sdo.requirements.BodeMagnitude(Name,Value)
Specify frequency-dependent piecewise-linear upper and lower
magnitude bounds on a linear system. You can then optimize your model
to meet the requirements using sdo.optimize
.
You can specify upper or lower bounds, include multiple linear edges, and extend them to + or –infinity.
You must have Simulink® Control Design™ software to specify bode magnitude requirements.
creates an bode_req
= sdo.requirements.BodeMagnitudesdo.requirements.BodeMagnitude
object and assigns default
values to its properties.
uses additional options specified by one or more bode_req
=
sdo.requirements.BodeMagnitude(Name,Value
)Name,Value
pair
arguments. Name
is a property name and Value
is
the corresponding value. Name
must appear inside single quotes
(''
). You can specify several name-value pair arguments in any
order as Name1,Value1,...,NameN,ValueN
.
Specify optional
comma-separated pairs of Name,Value
arguments. Name
is
the argument name and Value
is the corresponding value.
Name
must appear inside quotes. You can specify several name and value
pair arguments in any order as
Name1,Value1,...,NameN,ValueN
.
Use Name,Value
arguments to specify properties of the
requirement object during object creation. For example, requirement
= sdo.requirements.BodeMagnitude('Type','>=')
creates
an sdo.requirements.BodeMagnitude
object and
specifies the Type
property as a lower bound.
|
Frequency values for the gain bound. Specify the start and end frequencies for all the edges in the
piecewise-linear bound. The property must be a Use Use the Default: [1 10] |
|
Magnitude values for the gain bound. Specify the start and end gain values for all the edges in the
piecewise-linear bound. The property must be a nx2 array of finite
doubles where each row specifies the start and end gains of an edge
in the piecewise-linear bound. The number of rows must match the number
of rows of the Use Use the Default: [0 0] |
|
Requirement description, specified as a character vector. For
example, Default: |
|
Frequency-axis scaling. Use this property to determine the value of the bound between edge start and end points, specified as one of the following values:
For example, if bound edges are at frequencies Default: |
|
Frequency units of the requirement, specified as one of the following values:
Default: |
|
Magnitude units of the requirement. Must be:
Default: |
|
Requirement name, specified as a character vector. Default: |
|
Extend bound in a negative or positive frequency direction. Specify whether the first and last edge of the bound extends
to Must be a 1x2 logical array of Default: |
|
Magnitude bound type. Must be:
Use to specify whether the piecewise-linear bound is an upper or lower bound. Use for upper bound and for lower bound. |
evalRequirement | Evaluate Bode magnitude bound for linear system |
Handle. To learn how handle classes affect copy operations, see Copying Objects.
Construct a Bode magnitude requirements object and specify bound frequencies and magnitudes.
r = sdo.requirements.BodeMagnitude; set(r,'BoundFrequencies', [0.1 10; 10 100],... 'BoundMagnitudes',[1 1; 0.1 0.1])
Alternatively, you can specify the frequency and magnitude during construction.
r = sdo.requirements.BodeMagnitude(... 'BoundFrequencies', [1 10; 10 100], ... 'BoundMagnitudes', [1 1; 1 0]);
Use getbounds
to get the
bounds specified in a Check Bode Characteristics (Simulink Control Design) block.