Create uncertain real parameter
p = ureal('name',nominalvalue)
p = ureal('name',nominalvalue,'Property1',Value1,...
'Property2',Value2,...)
An uncertain real parameter is used to represent a real number whose value is uncertain. Uncertain real parameters have a name (the Name
property), and a nominal value (NominalValue
property).
The uncertainty (potential deviation from NominalValue
) is described (equivalently) in 3 different properties:
PlusMinus
: the additive deviation from NominalValue
Range
: the interval containing NominalValue
Percentage
: the percentage deviation from NominalValue
The Mode
property specifies which one of these three descriptions remains unchanged if the NominalValue
is changed (the other two descriptions are derived). The possible values for the Mode
property are 'Range', 'Percentage'
and 'PlusMinus'
.
The default Mode
is 'PlusMinus'
, and [-1 1]
is the default value for the 'PlusMinus'
property. The range of uncertainty need not be symmetric about NominalValue
.
The property AutoSimplify
controls how expressions involving the uncertain matrix are simplified. Its default value is 'basic'
, which means elementary methods of simplification are applied as operations are completed. Other values for AutoSimplify
are 'off''
, no simplification performed, and 'full'
, which applies model-reduction-like techniques to the uncertain object.
Create an uncertain real parameter and use get
to display the properties and their values. Create uncertain real parameter object a
with the internal name 'a'
and nominal value 5
.
a = ureal('a',5) Uncertain Real Parameter: Name a, NominalValue 5, variability = [-1 1] get(a) Name: 'a' NominalValue: 5 Mode: 'PlusMinus' Range: [4 6] PlusMinus: [-1 1] Percentage: [-20 20] AutoSimplify: 'basic'
Note that the Mode
is 'PlusMinus'
, and that the value of PlusMinus
is indeed [-1 1]
. As expected, the range description of uncertainty is [4 6]
, while the percentage description of uncertainty is [-20 20]
.
Set the range to [3 9]
. This leaves Mode
and NominalValue
unchanged, but all three descriptions of uncertainty have been modified.
a.Range = [3 9]; get(a) Name: 'a' NominalValue: 5 Mode: 'PlusMinus' Range: [3 9] PlusMinus: [-2 4] Percentage: [-40 80] AutoSimplify: 'basic'
Property/Value pairs can also be specified at creation.
b = ureal('b',6,'Percentage',[-30 40],'AutoSimplify','full'); get(b) Name: 'b' NominalValue: 6 Mode: 'Percentage' Range: [4.2000 8.4000] PlusMinus: [-1.8000 2.4000] Percentage: [-30.0000 40.0000] AutoSimplify: 'full'
Note that Mode
is automatically set to 'Percentage'
.
Specify the uncertainty in terms of percentage, but force Mode
to 'Range'
.
c = ureal('c',4,'Mode','Range','Percentage',25); get(c) Name: 'c' NominalValue: 4 Mode: 'Range' Range: [3 5] PlusMinus: [-1 1] Percentage: [-25 25] AutoSimplify: 'basic'