ureal

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

Описание

Используйте ureal неопределенный элемент, чтобы представлять вещественные числа, значения которых сомнительны при моделировании динамических систем с неопределенностью. Неопределенный действительный параметр имеет номинальную стоимость, сохраненную в NominalValue свойство и неопределенность, которая является потенциальным отклонением от номинальной стоимости. ureal хранилища это отклонение эквивалентно в трех различных свойствах:

  • PlusMinus — Аддитивное относительное отклонение от NominalValue

  • Range — Абсолютная область значений значений, описанных как интервал, содержащий NominalValue

  • Percentage — Отклонение, описанное как процент NominalValue

Когда вы создаете неопределенный действительный параметр, можно задать неопределенность любым из этих трех способов. ureal автоматически вычисляет соответствующие значения для других двух свойств.

Можно объединить ureal неопределенные параметры числовыми параметрами, чтобы создать неопределенные матрицы (umat) который можно затем использовать, чтобы создать неопределенные модели в пространстве состояний. Или можно использовать их в качестве коэффициентов в передаточных функциях. Когда вы используете неопределенные действительные параметры, чтобы создать неопределенные динамические системы, результатом является неопределенная модель, такая как uss или genss модель.

Создание

Описание

p = ureal(name,nominalvalue) создает неопределенный действительный параметр с заданной номинальной стоимостью и неопределенностью в ±1. Этот синтаксис устанавливает Name и NominalValue свойства получившегося ureal объект.

пример

p = ureal(name,nominalvalue,'PlusMinus',plusminus) устанавливает неопределенность на заданные отклонения от номинальной стоимости. plusminus двухэлементный вектор из формы [-DL DR]. Неопределенный параметр принимает значения в области значений [nominalvalue-DL,nominalvalue+DR]. Если область значений симметрична вокруг номинальной стоимости, таким образом что DL = DR, можно использовать plusminus = DR.

Используя этот синтаксис также устанавливает Mode свойство получившегося ureal возразите против 'PlusMinus'.

пример

p = ureal(name,nominalvalue,'Range',range) устанавливает неопределенность на указанный абсолютный диапазон. range двухэлементный вектор из формы [LOW,HIGH], и номинальная стоимость должна упасть в этой области значений.

Используя этот синтаксис также устанавливает Mode свойство получившегося ureal возразите против 'Range'.

пример

p = ureal(name,nominalvalue,'Percentage',percentage) устанавливает неопределенность в терминах отклонений процента от номинальной стоимости. percentage двухэлементный вектор из формы [-PL,PR]. Этот синтаксис устанавливает нижние и верхние пределы области значений неопределенности, таким образом что PL = 100*|1-LOW/nominalvalue| и, PR = 100*|1-HIGH/nominalvalue|.

Используя этот синтаксис также устанавливает Mode свойство получившегося ureal возразите против 'Percentage'.

p = ureal(name,nominalvalue,___,Name,Value) дополнительные свойства наборов с помощью пар "имя-значение". Можно задать несколько пар "имя-значение". Заключите каждое имя свойства в одинарные кавычки.

Свойства

развернуть все

Номинальная стоимость неопределенного параметра в виде действительного скаляра.

Независимая квантификация неопределенности в виде 'PlusMinus'Область значений, или 'Percentage'. ureal объектно-ориентированная память неопределенность как относительное отклонение от номинала, абсолютной области значений возможных значений и отклонения процента от номинала. Это свойство задает, какой из этих трех способов описать неопределенность независимо от номинальной стоимости. Например, если p.Mode = 'Range', затем изменение номинальной стоимости не оказывает влияния на p.Range, но действительно изменяет значение обоих p.PlusMinus и p.Percentage.

Начальное значение этого свойства зависит от того, как вы создаете ureal объект. Например, следующий код создает pl с p1.Mode = 'PlusMinus' и p2 с p2.Mode = 'Percentage'.

p1 = ureal('p1',2);
p2 = ureal('p2',2,'Percentage',[-10 20]);

Область значений изменения неопределенного параметра в виде двухэлементного вектора из формы [LOW,HIGH], где LOW и HIGH действительные скаляры. Неопределенный параметр может принять любое значение в этой области значений. Номинальная стоимость должна находиться в пределах этой области значений.

Отклонение от номинальной стоимости в виде двухэлементного вектора из формы [-DL,DR], где DL и DR действительные положительные скалярные величины. Неопределенный параметр может принять любое значение в области значений [NominalValue-DL,NominalValue+DR]. Если вы не задаете неопределенность ни в какой форме, когда вы создаете ureal параметр, затем неопределенностью по умолчанию является PlusMinus = [-1,1].

Отклонение процента от номинальной стоимости в виде двухэлементного вектора из формы [-PL,PR], где PL и PR действительные положительные скалярные величины. Эти значения устанавливают область значений неопределенности, таким образом что PL = 100*|1-LOW/NominalValue| и PR = 100*|1-HIGH/NominalValue|, где [LOW,HIGH] значение Range свойство.

Блокируйте уровень упрощения в виде 'basic'полный, или 'off'. В общем случае, когда вы комбинируете неопределенные элементы, чтобы создать неопределенные модели в пространстве состояний, программное обеспечение автоматически применяет методы, чтобы устранить избыточные копии неопределенных элементов. (См. simplify). Используйте это свойство задать упрощение, примененное, когда вы будете использовать арифметику модели или методы формирования межсоединений с неопределенным блоком.

  • 'basic' — Примените элементарный метод упрощения после каждой арифметики или соединительной работы.

  • 'full' — Примените методы, похожие на снижение сложности модели.

  • 'off' — Не выполните упрощение.

Имя неопределенного элемента в виде вектора символов. Когда вы создаете неопределенное пространство состояний (uss или genss) модель с помощью неопределенных блоков системы управления, программное обеспечение отслеживает блоки с помощью имени, которое вы задаете в этом свойстве, не имени переменной в рабочей области MATLAB®. Например, используйте следующий код, чтобы создать ureal параметр и неопределенная модель динамической системы.

p1 = ureal('w0',10);
sys = tf(p1,[1 p1])
sys =

  Uncertain continuous-time state-space model with 1 outputs, 1 inputs, 1 states.
  The model uncertainty consists of the following blocks:
    w0: Uncertain real, nominal = 10, variability = [-1,1], 1 occurrences

Blocks свойство получившегося uss модель перечисляет неопределенный блок системы управления с помощью w0, который является Name свойство неопределенного параметра раньше создавало sys.

Функции объекта

Можно использовать ureal параметры с функциями для создания динамических систем такой как tf и ss. Можно также объединить их с существующей арифметикой модели использования моделей динамических систем или командами такой как feedback. Выполнение так создает неопределенную модель в пространстве состояний. Можно также объединить ureal параметры с помощью общих арифметических операций, который обычно приводит к неопределенной матрице (umat). Используйте функции такой как actual2normalized и uscale преобразовать или масштабировать сумму неопределенности в ureal параметр. Можно также использовать команды такой как usample или usubs заменять действительные параметры на фиксированные значения. gridureal команда оценивает ureal параметр в его области значений и возвращает сетку произведенных значений.

Следующий список содержит представительное подмножество функций, которые можно использовать с ureal объекты параметра.

actual2normalizedПреобразуйте фактические значения к нормированным значениям
appendМодели группы путем добавления их вводов и выводов
feedbackCоединение обратной связи многих моделей
getПолучите значения свойств модели
getLimitsОбласть значений валидности для действительного неопределенного (urealПараметры
getNominalНоминальная стоимость неопределенной модели
gridurealСетка ureal параметры однородно в их области значений
isuncertainПроверяйте, является ли аргумент неопределенным типом класса
normalized2actualПреобразуйте значение для атома в нормализованных координатах к соответствующему фактическому значению
replaceBlockЗамените или обновите Блоки Системы управления в модели Generalized LTI
rsampleBlockСлучайным образом демонстрационная Система управления блокируется в обобщенной модели
sampleBlockДемонстрационная Система управления блокируется в обобщенной модели
ssМодель в пространстве состояний
tfМодель передаточной функции
umatСоздайте неопределенную матрицу
usampleСгенерируйте случайные выборки неопределенной или обобщенной модели
uscaleМасштабируйте неопределенность в блоке или системе
usubsЗамените данными значениями неопределенные элементы неопределенных объектов

Примеры

свернуть все

Создайте неопределенный действительный параметр с номинальной стоимостью 10, и область значений неопределенности ±2. Поскольку эта неопределенность симметрична, можно задать его установкой PlusMinus к 2, вместо того, чтобы явным образом установить его на [-2,2].

p1 = ureal('p1',10,'PlusMinus',2)
p1 = 
  Uncertain real parameter "p1" with nominal value 10 and variability [-2,2].

Создайте другой параметр с номинальной стоимостью 10, на этот раз с асимметричной неопределенностью, таким образом, что значение может уменьшиться на 2 с номинала, но может увеличиться на 5.

p2 = ureal('p2',10,'PlusMinus',[-2 5])
p2 = 
  Uncertain real parameter "p2" with nominal value 10 and variability [-2,5].

Исследуйте свойства параметра. Range и Percentage свойства автоматически установлены в значения, соответствующие этой изменчивости.

get(p2)
    NominalValue: 10
            Mode: 'PlusMinus'
           Range: [8 15]
       PlusMinus: [-2 5]
      Percentage: [-20 50]
    AutoSimplify: 'basic'
            Name: 'p2'

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

Создайте неопределенный действительный параметр, значение которого может варьироваться от 14 до 19 с номинальной стоимостью 15,5. Для этого установите Range свойство к самым низким и самым высоким значениям параметр может взять.

p1 = ureal('p1',15.5,'Range',[14,19])
p1 = 
  Uncertain real parameter "p1" with nominal value 15.5 and range [14,19].

Исследуйте свойства параметра. PlusMinus и Percentage свойства автоматически установлены в соответствующие значения. Mode свойство установлено в 'Range'.

get(p1)
    NominalValue: 15.5000
            Mode: 'Range'
           Range: [14 19]
       PlusMinus: [-1.5000 3.5000]
      Percentage: [-9.6774 22.5806]
    AutoSimplify: 'basic'
            Name: 'p1'

Создайте неопределенный действительный параметр с номинальной стоимостью 24, чье значение может увеличиться или уменьшиться на 15%. Поскольку эта неопределенность симметрична, можно задать его установкой Percentage к 15, вместо того, чтобы явным образом установить его на [-15,15].

p1 = ureal('p1',24,'Percentage',15)
p1 = 
  Uncertain real parameter "p1" with nominal value 24 and variability [-15,15]%.

Создайте другой параметр с номинальной стоимостью 24, на этот раз с асимметричной неопределенностью, таким образом, что значение может уменьшиться на 20% с номинала, но может увеличиться на 10%.

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

Исследуйте свойства видеть отклонение от номинала (PlusMinus) и область значений значений (Range) представленный этими изменениями процента.

get(p2)
    NominalValue: 24
            Mode: 'Percentage'
           Range: [19.2000 27.6000]
       PlusMinus: [-4.8000 3.6000]
      Percentage: [-20 15]
    AutoSimplify: 'basic'
            Name: 'p2'

ureal параметр хранит неопределенность как относительное отклонение от номинала (PlusMinus), абсолютная область значений возможных значений (Range), и отклонение процента от номинала (Percentage). Mode свойство задает, какой из этих трех не изменяется, когда вы изменяете номинальную стоимость параметра. Например, создайте параметр с номинальной стоимостью 10 и относительное отклонение ±2.

p1 = ureal('p1',10,'PlusMinus',[-2,2])
p1 = 
  Uncertain real parameter "p1" with nominal value 10 and variability [-2,2].

Исследуйте значения других свойств.

get(p1)
    NominalValue: 10
            Mode: 'PlusMinus'
           Range: [8 12]
       PlusMinus: [-2 2]
      Percentage: [-20 20]
    AutoSimplify: 'basic'
            Name: 'p1'

В PlusMinus режим, когда вы изменяете номинальную стоимость, PlusMinus свойство остается фиксированным, и значения других двух способов описать неопределенность обновляются, чтобы отразить новые значения. Например, измените номинальную стоимость в 20.

p1.NominalValue = 20;
get(p1)
    NominalValue: 20
            Mode: 'PlusMinus'
           Range: [18 22]
       PlusMinus: [-2 2]
      Percentage: [-10 10]
    AutoSimplify: 'basic'
            Name: 'p1'

Новый неопределенный параметр имеет тот же PlusMinus значение, но область значений и процент настроены к новым значениям, которые соответствуют 20±2.

Если вы изменяете PlusMinus значение, Range и Percentage значения обновляются, чтобы отразить новую неопределенность. Номинальная стоимость неизменна.

p1.PlusMinus = [-4 4];
get(p1)
    NominalValue: 20
            Mode: 'PlusMinus'
           Range: [16 24]
       PlusMinus: [-4 4]
      Percentage: [-20 20]
    AutoSimplify: 'basic'
            Name: 'p1'

Затем измените параметр в Range режим. В этом режиме, когда вы изменяете номинальную стоимость, Range остается фиксированным в [16 24], в то время как Percentage и PlusMinus обновляются.

p1.Mode = 'Range';
p1.NominalValue = 22;
get(p1)
    NominalValue: 22
            Mode: 'Range'
           Range: [16 24]
       PlusMinus: [-6 2]
      Percentage: [-27.2727 9.0909]
    AutoSimplify: 'basic'
            Name: 'p1'

Создайте модель системы второго порядка с собственной частотой ω0 = 10±3 рад/с и коэффициент затухания, который может варьироваться от 0,5 до 0,8 с номинальной стоимостью ζ = 0.6.

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

w0 = ureal('w0',10,'PlusMinus',[-3 3]);
zeta = ureal('zeta',0.6,'Range',[0.5 0.8]);

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

sys = tf(1,[1/w0^2 2*zeta/w0 1])
sys =

  Uncertain continuous-time state-space model with 1 outputs, 1 inputs, 2 states.
  The model uncertainty consists of the following blocks:
    w0: Uncertain real, nominal = 10, variability = [-3,3], 3 occurrences
    zeta: Uncertain real, nominal = 0.6, range = [0.5,0.8], 1 occurrences

Type "sys.NominalValue" to see the nominal value, "get(sys)" to see all properties, and "sys.Uncertainty" to interact with the uncertain elements.

sys неопределенное пространство состояний (uss) модель, которая зависит от неопределенных параметров w0 и zeta. Модель sys использует Name свойство параметров относиться к ним и отследить их.

Исследуйте переходной процесс системы, чтобы получить смысл ответов, которые представляет неопределенность. step команда автоматически берет много случайных выборок неопределенной системы.

step(sys,sys.NominalValue)

Можно использовать ureal параметры, чтобы указать неопределенные элементы в матрицах пространства состояний. Например, создайте три неопределенных действительных параметра и создайте матрицы пространств состояний от них.

p1 = ureal('p1',10,'Percentage',50); 
p2 = ureal('p2',3,'PlusMinus',[-.5 1.2]); 
p3 = ureal('p3',0); 

A = [-p1 p2; 0 -p1]; 
B = [-p2; p2+p3]; 
C = [1 0; 1 1-p3]; 
D = [0; 0];

Матрицы, созданные неопределенными параметрами, A, B, и C, являются неопределенной матрицей (umatОбъекты. Используя их как входные параметры к ss результаты в неопределенной системе с 2 состояниями, с 1 входом, с 2 выходами.

sys = ss(A,B,C,D)
sys =

  Uncertain continuous-time state-space model with 2 outputs, 1 inputs, 2 states.
  The model uncertainty consists of the following blocks:
    p1: Uncertain real, nominal = 10, variability = [-50,50]%, 2 occurrences
    p2: Uncertain real, nominal = 3, variability = [-0.5,1.2], 2 occurrences
    p3: Uncertain real, nominal = 0, variability = [-1,1], 2 occurrences

Type "sys.NominalValue" to see the nominal value, "get(sys)" to see all properties, and "sys.Uncertainty" to interact with the uncertain elements.

Отображение показывает, что система включает три неопределенных параметра, на которые ссылается Name свойства ureal объекты вы раньше создавали систему.

Советы

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

    Когда область значений неопределенности ureal параметр не сосредоточен по его номинальной стоимости, существуют ограничения на область значений значений, которые может принять параметр. Для устойчивого анализа устойчивости эти ограничения означают, что самое маленькое возмущение дестабилизации параметра может быть вне досягаемости заданного ureal модель. Использование getLimits узнать область значений фактических и нормированных значений что ureal параметр может взять. Для получения дополнительной информации смотрите getLimits.

Вопросы совместимости

развернуть все

Поведение изменяется в R2020a

Представлено до R2006a