Неопределенные действительные параметры

Неопределенный действительный параметр, ureal, Блок Системы управления (Control System Toolbox), который представляет вещественное число, значение которого сомнительно.

Свойства неопределенных действительных параметров

Неопределенные действительные параметры имеют имя (Name свойство), и номинальная стоимость (NominalValue свойство. Несколько других свойств (PlusMinusОбласть значений, Percentage) опишите неопределенность в значениях параметров.

Все свойства ureal может быть получен доступ через get и set. Свойства:

Свойства

Значение

Класс

Name

Внутреннее имя

char

NominalValue

Номинальная стоимость элемента

double

Mode

Имеет значение который описание (from'PlusMinus'Область значений, 'Percentage') из неопределенности является инвариантным когда NominalValue изменяется

char

PlusMinus

Аддитивное изменение

scalar or 1x2 double

Range

Числовая область значений

1x2 double

Percentage

Аддитивное изменение (% абсолютного значения номинала)

scalar or 1x2 double

AutoSimplify

'off' | {'basic'} |'full'

char

Свойства Range, Percentage и PlusMinus все автоматически синхронизируются. Если номинальная стоимость 0, то Mode не может быть Percentage. Mode свойство управляет тем, какой аспект неопределенности остается неизменным когда NominalValue изменяется. Присвоение любому Range/Percentage/PlusMinus изменяет значение, но не изменяет режим.

AutoSimplify свойство управляет, как упрощены выражения, включающие действительный параметр. Его значением по умолчанию является 'basic', что означает, что элементарные методы упрощения применяются, когда операции завершаются. Другие значения для AutoSimplify 'off' (никакое выполняемое упрощение) и 'full' (подобные снижению сложности модели методы применяются). Смотрите Упрощение Представления Неопределенных Объектов узнать больше о AutoSimplify свойство и команда simplify.

Если никакие пары свойства/значения не заданы, значения по умолчанию используются. Mode по умолчанию PlusMinus, и значение по умолчанию PlusMinus [-1 1]. Некоторые примеры показывают ниже. Во многих случаях полное имя свойства не задано, использовав в своих интересах нечувствительное к регистру, частичное соответствие свойства имени.

Создайте неопределенные действительные параметры

В этом примере показано, как создать неопределенные действительные параметры, измените свойства, такие как область значений неопределенности и демонстрационные неопределенные параметры.

Создайте неопределенный действительный параметр, номинальная стоимость 3, со значениями по умолчанию для всех незаданных свойств (включая плюс/минус изменчивость 1).

a = ureal('a',3)
a = 
  Uncertain real parameter "a" with nominal value 3 and variability [-1,1].

Просмотрите свойства и их значения, и обратите внимание что Range и Percentage описания изменчивости автоматически обеспечены.

get(a)
    NominalValue: 3
            Mode: 'PlusMinus'
           Range: [2 4]
       PlusMinus: [-1 1]
      Percentage: [-33.3333 33.3333]
    AutoSimplify: 'basic'
            Name: 'a'

Создайте неопределенный действительный параметр, номинальная стоимость 2, с 20%-й изменчивостью. Снова, просмотрите свойства и обратите внимание что Range и PlusMinus описания изменчивости автоматически обеспечены.

b = ureal('b',2,'Percentage',20) 
b = 
  Uncertain real parameter "b" with nominal value 2 and variability [-20,20]%.

get(b)
    NominalValue: 2
            Mode: 'Percentage'
           Range: [1.6000 2.4000]
       PlusMinus: [-0.4000 0.4000]
      Percentage: [-20 20]
    AutoSimplify: 'basic'
            Name: 'b'

Измените область значений параметра. Все описания изменчивости автоматически обновляются, в то время как номинальная стоимость остается фиксированной. Несмотря на то, что изменение в изменчивости было выполнено путем определения Range, Mode незатронуто, и остается Percentage.

b.Range = [1.9 2.3];
get(b)
    NominalValue: 2
            Mode: 'Percentage'
           Range: [1.9000 2.3000]
       PlusMinus: [-0.1000 0.3000]
      Percentage: [-5.0000 15.0000]
    AutoSimplify: 'basic'
            Name: 'b'

Как упомянуто, Mode свойство показывает, какой аспект неопределенности остается неизменным когда NominalValue изменяется. Следовательно, если действительный параметр находится в Percentage режим, затем Range и PlusMinus свойства определяются из Percentage свойство и NominalValue. Изменение NominalValue сохраняет Percentage свойство, и автоматически обновляет Range и PlusMinus свойства.

b.NominalValue = 2.2;
get(b)
    NominalValue: 2.2000
            Mode: 'Percentage'
           Range: [2.0900 2.5300]
       PlusMinus: [-0.1100 0.3300]
      Percentage: [-5.0000 15.0000]
    AutoSimplify: 'basic'
            Name: 'b'

Создайте неопределенный параметр с асимметричным изменением о его номинальной стоимости. Исследуйте свойства подтвердить асимметричную область значений.

c = ureal('c',-5,'Percentage',[-20 30]); 
get(c)
    NominalValue: -5
            Mode: 'Percentage'
           Range: [-6 -3.5000]
       PlusMinus: [-1 1.5000]
      Percentage: [-20 30]
    AutoSimplify: 'basic'
            Name: 'c'

Создайте неопределенный параметр, задав изменчивость с Percentage, но обеспечьте Mode быть Range.

d = ureal('d',-1,'Mode','Range','Percentage',[-40 60]); 
get(d)
    NominalValue: -1
            Mode: 'Range'
           Range: [-1.4000 -0.4000]
       PlusMinus: [-0.4000 0.6000]
      Percentage: [-40 60]
    AutoSimplify: 'basic'
            Name: 'd'

Наконец, создайте неопределенный действительный параметр и установите AutoSimplify свойство к 'full'.

e = ureal('e',10,'PlusMinus',[-23],'Mode','Percentage','AutoSimplify','Full') 
e = 
  Uncertain real parameter "e" with nominal value 10 and variability [-230,230]%.

get(e)
    NominalValue: 10
            Mode: 'Percentage'
           Range: [-13 33]
       PlusMinus: [-23 23]
      Percentage: [-230 230]
    AutoSimplify: 'full'
            Name: 'e'

Определение конфликтных значений для Range/Percentage/PlusMinus при создании ureal элемент не приводит к ошибке. В этом случае последнее заданное свойство используется. Это последнее вхождение также определяет Mode, если Mode явным образом задан, в этом случае который используется, независимо от упорядоченного расположения пар свойства/значения.

f = ureal('f',3,'PlusMinus',[-2 1],'Percentage',40) 
f = 
  Uncertain real parameter "f" with nominal value 3 and variability [-40,40]%.

g = ureal('g',2,'PlusMinus',[-2 1],'Mode','Range','Percentage',40) 
g = 
  Uncertain real parameter "g" with nominal value 2 and range [1.2,2.8].

g.Mode
ans = 
'Range'

Создайте неопределенный действительный параметр, используйте usample чтобы сгенерировать 1 000 экземпляров (приводящий к 1 1 1 000 массивов), измените размерность массива и постройте гистограмму с 20 интервалами (в области значений 2 - 4).

h = ureal('h',3); 
hsample = usample(h,1000); 
hist(reshape(hsample,[1000 1]),20);

Сделайте область значений несимметричной о номинальной стоимости и повторите выборку и график гистограммы (с 40 интервалами в области значений 2 к 6)

h.Range = [2 6]; 
hsample = usample(h,1000); 
hist(reshape(hsample,[1000 1]),40);

Распределение все еще универсально. Распределение используется usample универсально в фактическом значении неопределенного действительного параметра. Однако очень скошенные области значений могут привести к плохому числовому созданию условий и плохим результатам. Поэтому для значимых результатов, избегайте высоко скошенных областей значений, где номинальная стоимость является порядками величины ближе к одному концу области значений, чем к другому.

Нет никакого понятия пустого ureal (или любой другой неопределенный элемент, в этом отношении). ureal, отдельно, создает элемент под названием 'UNNAMED', со значениями свойств по умолчанию.

Смотрите также

Похожие темы