Create uncertain real parameter


p = ureal('name',nominalvalue)
p = ureal('name',nominalvalue,'Property1',Value1,...


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.


Example 1

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]
            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]; 
            Name: 'a' 
    NominalValue: 5 
            Mode: 'PlusMinus' 
           Range: [3 9] 
       PlusMinus: [-2 4] 
      Percentage: [-40 80] 
    AutoSimplify: 'basic' 

Example 2

Property/Value pairs can also be specified at creation.

b = ureal('b',6,'Percentage',[-30 40],'AutoSimplify','full'); 
            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'.

Example 3

Specify the uncertainty in terms of percentage, but force Mode to 'Range'.

c = ureal('c',4,'Mode','Range','Percentage',25); 
            Name: 'c' 
    NominalValue: 4 
            Mode: 'Range' 
           Range: [3 5] 
       PlusMinus: [-1 1] 
      Percentage: [-25 25] 
    AutoSimplify: 'basic' 

Compatibility Considerations

expand all

Behavior changed in R2020a

Introduced before R2006a