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

Неопределенный действительный параметр, 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);

Обратите внимание на то, что распределение скашивается. Однако количество выборок меньше, чем номинальная стоимость и количество выборок, больше, чем номинальная стоимость, равно (в среднем). Проверьте это.

length(find(hsample(:) < h.NominalValue))
ans = 482
length(find(hsample(:) > h.NominalValue))
ans = 518

Распределение, используемое в usample, универсально в нормированном описании неопределенного действительного параметра. Смотрите Разлагающиеся Неопределенные Объекты узнать больше о нормированном описании.

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

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

Похожие темы