sdo.requirements.BodeMagnitude class
Package: sdo.requirements
Bode magnitude bound
Syntax
bode_req = sdo.requirements.BodeMagnitude
bode_req =
sdo.requirements.BodeMagnitude(Name,Value)
Description
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.
Construction
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
.
Input Arguments
Name-Value ArgumentsSpecify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN
, where Name
is
the argument name and Value
is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Before R2021a, use commas to separate each name and value, and enclose
Name
in quotes.
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.
Properties
|
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. |
Methods
evalRequirement | Evaluate Bode magnitude bound for linear system |
Copy Semantics
Handle. To learn how handle classes affect copy operations, see Copying Objects.
Examples
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]);
Alternatives
Use getbounds
to get the bounds specified in a Check Bode Characteristics (Simulink Control Design) block.