uss

Модель неопределенного пространства состояний

Описание

Использование uss моделирует объекты, чтобы представлять неопределенные динамические системы.

Две доминирующие формы неопределенности модели:

  • Неопределенность в параметрах базовых моделей дифференциального уравнения (неопределенные матрицы пространства состояний)

  • Неопределенность частотного диапазона, которая часто количественно определяет неопределенность модели путем описания абсолютной или относительной неопределенности в частотной характеристике (неопределенная или неизмененная линейная динамика)

uss объекты модели могут представлять динамические системы с одной или обеими формами неопределенности. Можно использовать uss выполнить устойчивый анализ устойчивости и эффективности и проверить робастность проектов контроллеров.

Создание

Существует несколько способов создать uss объект модели, включая:

  • Использовать tf с одним или несколькими неопределенными реальными параметрами (ureal). Для примера:

    p = ureal('p',1);
    usys = tf(p,[1 p]);

    Для другого примера смотрите Передаточную функцию с неопределенными коэффициентами.

  • Использовать ss с неопределенными матрицами пространства состояний (umat). Для примера:

    p = ureal('p',1);
    A = [0 3*p; -p p^2];
    B = [0; p];
    C = ones(2);  
    D = zeros(2,1);
    usys = ss(A,B,C,D);

    Для другого примера см. «Модель неопределенного пространства состояний».

  • Объедините числовые модели LTI с неопределенными элементами с помощью команд соединения моделей, таких как connect, series, или parallel, или моделировать арифметические операторы, такие как *, +, или -. Для примера:

     sys = tf(1,[1 1]);
     p = ureal('p',1);
     D = ultidyn('Delta',[1 1]);
     usys = p*sys*(1 + 0.1*D);

    Для другого примера см. «Система с неопределенной динамикой».

  • Преобразуйте двойной массив или числовую модель LTI в uss форма с использованием usys = uss(sys). В этом случае получившееся uss объект модели не имеет неопределенных элементов. Для примера:

    M = tf(1,[1 1 1]);
    usys = uss(M);
  • Использовать ucover для создания uss модель, чья область значений возможных частотных характеристик включает все отклики в массиве числовых моделей LTI. Получившаяся модель выражает область значений поведения как динамическую неопределенность (ultidyn).

Свойства

расширить все

Номинальное значение неопределенной модели, заданное как пространство состояний (ss) объект модели. Модель пространства состояний получена путем установки всех неопределенных блоков системы управления неопределенной модели в свои номинальные значения.

Неопределенные элементы модели, заданные как структура, поля которой являются именами неопределенных блоков, и значения которой являются самими блоками системы управления. Таким образом, значения, сохраненные в структуре, могут быть ureal, umat, ultidyn, или другие неопределенные блоки системы управления. Для образца следующие команды создают неопределенную модель usys с двумя неопределенными параметрами, p1 и p2.

p1 = ureal('p1',1);
p2 = ureal('p2',3);
A = [0 3*p1; -p1 p1^2];
B = [0; p2];
C = ones(2);
D = zeros(2,1);
usys = ss(A,B,C,D);

The Uncertainty свойство usys - структура с двумя полями, p1 и p2, чьи значения являются соответствующими ureal неопределенные параметры.

usys.Uncertainty
ans = 

  struct with fields:

    p1: [1×1 ureal]
    p2: [1×1 ureal]

Вы можете получить доступ или изучить каждый неопределенный параметр индивидуально. Для примера:

get(usys.Uncertainty.p1)
    NominalValue: 1
            Mode: 'PlusMinus'
           Range: [0 2]
       PlusMinus: [-1 1]
      Percentage: [-100 100]
    AutoSimplify: 'basic'
            Name: 'p1'

Это свойство доступно только для чтения.

Матрицы пространства состояний, заданные как числовые матрицы или неопределенные матрицы (umat). Матрицы пространства состояний оцениваются путем фиксации всех динамических блоков неопределенности (udyn, ultidyn) к их номинальным значениям.

  • A - Матрица состояний A, заданная в виде квадратной матрицы или umat с таким количеством строк и столбцов, сколько существует состояний системы.

  • B - матричная B ввода в состояние, заданная в виде матрицы или umat с таким количеством строк, сколько системных состояний и столько столбцов, сколько системных входов.

  • C - матричная матрица состояние- C, заданная в виде матрицы или umat с таким количеством строк, сколько системных выходов и столько столбцов, сколько системных состояний.

  • D - матричная матрица с D, заданная в виде матрицы или umat с таким количеством строк, сколько системных выходов и столько столбцов, сколько системных входов.

  • E - E матрица для неявных (дескрипторных) моделей пространства состояний, заданная в виде матрицы или umat тех же размерностей, что и A. По умолчанию E = [], что означает, что уравнение состояния явное. Чтобы задать неявное уравнение состояния E dx/ dt = Ax + Bu, установите это свойство в квадратную матрицу того же размера, что и A. Посмотрите dss для получения дополнительной информации о моделях пространства состояний дескрипторов.

Имена состояний, заданные в качестве одного из следующих значений:

  • Вектор символов - Для моделей первого порядка

  • Массив ячеек из символьных векторов - Для моделей с двумя или более состояниями

  • '' - Для безымянных состояний

Можно задать StateName использование строки, например "velocity", но имя состояния сохранено как вектор символов, 'velocity'.

Пример: 'velocity'

Пример: {'x1','x2'}

Модули измерения состояния, заданные в качестве одного из следующих значений:

  • Вектор символов - Для моделей первого порядка

  • Массив ячеек из символьных векторов - Для моделей с двумя или более состояниями

  • '' - Для состояний без заданных модулей

Использование StateUnit для отслеживания модулей измерения каждое состояние выражается в. StateUnit не влияет на поведение системы.

Можно задать StateUnit использование строки, например "mph", но модули состояний хранятся как вектор символов, 'mph'.

Пример: 'mph'

Пример: {'rpm','rad/s'}

Внутренние задержки, заданные как скаляр или вектор. Для моделей в непрерывном времени внутренние задержки выражаются в модуле времени, заданной TimeUnit свойство объекта модели. Для моделей в дискретном времени внутренние задержки выражаются в виде целого числа, кратного шага расчета Ts. Для примера, InternalDelay = 3 означает задержку на три периода дискретизации.

Значения внутренних задержек можно изменить. Однако количество записей в InternalDelay не может измениться, потому что это структурное свойство модели.

Внутренние задержки возникают, например, при закрытии циклов обратной связи в системах с задержками или при соединении запаздывающих систем последовательно или параллельно. Дополнительные сведения о внутренних задержках см. в разделе Закрытие циклов обратной связи с временными задержками.

Задержка на каждом входе, заданная как скаляр или вектор. Для системы с Nu входы, задайте InputDelay в Nu-by-1 вектор. Каждый элемент этого вектора является числовым значением, которое представляет входу задержку для соответствующего канала входа. Для моделей в непрерывном времени задайте входные задержки в модуле времени, сохраненной в TimeUnit свойство объекта модели. Для моделей в дискретном времени задайте входные задержки в целочисленных множителях шага расчета Ts. Для примера, InputDelay = 3 означает задержку в три шагов расчета.

Задайте InputDelay к скалярному значению, чтобы применить ту же задержку ко всем каналам.

Задержка на каждом выходе, заданная как скаляр или вектор. Для системы с Ny выходы, set OutputDelay в Ny-by-1 вектор. Каждый элемент этого вектора является числовым значением, которое представляет выходу задержку для соответствующего канала выхода. Для моделей в непрерывном времени задайте выходные задержки в модуле времени, сохраненной в TimeUnit свойство объекта модели. Для моделей в дискретном времени задайте выходные задержки в целочисленных множителях шага расчета Ts. Для примера, OutputDelay = 3 означает задержку в три шагов расчета.

Задайте OutputDelay к скалярному значению, чтобы применить ту же задержку ко всем каналам.

Шаг расчета, заданная как:

  • 0 - Для моделей в непрерывном времени.

  • Положительное скалярное значение - для моделей в дискретном времени. Задайте шаг расчета в модулях, заданных в TimeUnit свойство модели.

  • -1 - Для моделей в дискретном времени с неопределенным шагом расчета.

Изменение этого свойства не дискретизирует и не переопределяет модель. Использовать c2d и d2c для преобразования между представлениями в непрерывном времени и в дискретном времени. Использовать d2d для изменения шага расчета системы дискретного времени.

Моделируйте модули измерения времени, заданные в качестве одного из следующих значений:

  • 'nanoseconds'

  • 'microseconds'

  • 'milliseconds'

  • 'seconds'

  • 'minutes'

  • 'hours'

  • 'days'

  • 'weeks'

  • 'months'

  • 'years'

Можно задать TimeUnit использование строки, например "hours", но временные модули хранятся как вектор символов, 'hours'.

Свойства модели, такие как шаг расчета Ts, InputDelay, OutputDelay, и другие временные задержки выражаются в модулях, заданных TimeUnit. Изменение этого свойства не влияет на другие свойства и, следовательно, изменяет общее поведение системы. Использовать chgTimeUnit для преобразования между модулями времени без изменения поведения системы.

Имена каналов входа, заданные в качестве одного из следующих значений:

  • Вектор символов - Для моделей с одним входом

  • Массив ячеек из символьных векторов - Для моделей с двумя или более входами

  • '' - Для входов без заданных имен

Можно использовать автоматическое расширение вектора, чтобы присвоить входные имена для мультивходов. Для примера, если sys является моделью с двумя входами, введите:

sys.InputName = 'controls';

Имена входа автоматически расширяются на {'controls(1)';'controls(2)'}.

Можно использовать сокращённое обозначение u для ссылки на InputName свойство. Для примера, sys.u эквивалентно sys.InputName.

Входные имена каналов имеют несколько применений, включая:

  • Идентификация каналов на отображении модели и графиках

  • Извлечение подсистем систем MIMO

  • Определение точек соединения при соединении моделей

Можно задать InputName использование строки, например "voltage", но имя входа хранится как вектор символов, 'voltage'.

Модули входных сигналов, заданные в качестве одного из следующих значений:

  • Вектор символов - Для моделей с одним входом

  • Массив ячеек из символьных векторов - Для моделей с двумя или более входами

  • '' - Для входов без заданных модулей

Использование InputUnit для отслеживания модулей каждый входной сигнал выражается в. InputUnit не влияет на поведение системы.

Можно задать InputUnit использование строки, например "voltage", но входные модули сохраняются как вектор символов, 'voltage'.

Пример: 'voltage'

Пример: {'voltage','rpm'}

Входные группы каналов, заданные как структура, где поля являются именами групп, а значения являются индексами входных каналов, принадлежащих соответствующей группе. Когда вы используете InputGroup для назначения входных каналов систем MIMO группам можно обратиться к каждой группе по имени, когда необходимо получить к ней доступ. Например, предположим, что у вас есть модель с пятью входами sys, где первые три входа являются управляющими входами, а оставшиеся два входа представляют шум. Присвойте входы управления и шума sys в отдельные группы.

sys.InputGroup.controls = [1:3];
sys.InputGroup.noise = [4 5];

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

sys(:,'controls')

Пример: struct('controls',[1:3],'noise',[4 5])

Имена каналов выхода, заданные в качестве одного из следующих значений:

  • Вектор символов - Для моделей с одним выходом

  • Массив ячеек из символьных векторов - Для моделей с двумя или более выходами

  • '' - Для выходов без заданных имен

Можно использовать автоматическое расширение вектора, чтобы назначить имена выходов для мультивыходов. Для примера, если sys является двухвыпускной моделью, введите:

sys.OutputName = 'measurements';

Выходы данных автоматически расширяются на {'measurements(1)';'measurements(2)'}.

Можно использовать сокращённое обозначение y для ссылки на OutputName свойство. Для примера, sys.y эквивалентно sys.OutputName.

Имена выходных каналов имеют несколько применений, включая:

  • Идентификация каналов на отображении модели и графиках

  • Извлечение подсистем систем MIMO

  • Определение точек соединения при соединении моделей

Можно задать OutputName использование строки, например "rpm", но имя выхода хранится как вектор символов, 'rpm'.

Модули сигналов выхода, заданные в качестве одного из следующих значений:

  • Вектор символов - Для моделей с одним выходом

  • Массив ячеек из символьных векторов - Для моделей с двумя или более выходами

  • '' - Для выходов без заданных модулей

Использование OutputUnit для отслеживания модулей каждый выходной сигнал выражается в. OutputUnit не влияет на поведение системы.

Можно задать OutputUnit использование строки, например "voltage", но выходные модули сохраняются как вектор символов, 'voltage'.

Пример: 'voltage'

Пример: {'voltage','rpm'}

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

sys.OutputGroup.temperature = [2];
sys.InputGroup.measurements = [1 3 4];

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

sys('measurements',:)

Пример: struct('temperature',[2],'measurement',[1 3 4])

Текстовые заметки о модели, сохраненные как строка или массив ячеек из векторов символов. Свойство сохраняет любой из этих двух типов данных, которые вы предоставляете. Например, предположим, что sys1 и sys2 Динамической системой модели и установите их Notes свойства для строки и вектора символов, соответственно.

sys1.Notes = "sys1 has a string.";
sys2.Notes = 'sys2 has a character vector.';
sys1.Notes
sys2.Notes
ans = 

    "sys1 has a string."


ans =

    'sys2 has a character vector.'

Данные любого рода, которые вы хотите связать и хранить с моделью, заданные как любой MATLAB® тип данных.

Имя модели, сохраненное как вектор символов. Можно задать Name использование строки, например "DCmotor", но выходные модули сохраняются как вектор символов, 'DCmotor'.

Пример: 'system_1'

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

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

Например, предположим, что вы создадите массив линейных моделей 11 на 1, sysarr, путем создания моментальных снимков линейной изменяющейся во времени системы в определенные моменты времени t = 0:10. Следующий код хранит временные выборки с помощью линейных моделей.

 sysarr.SamplingGrid = struct('time',0:10)

Точно так же предположим, что вы создадите массив моделей 6 на 9, M, путем независимой выборки двух переменных, zeta и w. Следующий код присоединяет (zeta,w) значения в M.

[zeta,w] = ndgrid(<6 values of zeta>,<9 values of w>)
M.SamplingGrid = struct('zeta',zeta,'w',w)

Когда вы отображаете Mкаждая запись в массиве включает соответствующие zeta и w значения.

M
M(:,:,1,1) [zeta=0.3, w=5] =
 
        25
  --------------
  s^2 + 3 s + 25
 

M(:,:,2,1) [zeta=0.35, w=5] =
 
         25
  ----------------
  s^2 + 3.5 s + 25
 
...

Для массивов моделей, сгенерированных линеаризацией Simulink® моделируйте в нескольких значениях параметров или рабочих точках, программное обеспечение заполняет SamplingGrid автоматически со значениями переменных, соответствующими каждой записи в массиве. Например, команды Simulink Control Design™ linearize (Simulink Control Design) и slLinearizer (Simulink Control Design) заполните SamplingGrid таким образом.

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

Большинство функций, которые работают с числовыми моделями LTI, также работают с uss модели. Они включают функции соединения моделей, такие как connect и feedback, и функции линейного анализа, такие как bode и stepinfo. Некоторые функции, которые генерируют графики, такие как bode и step, постройте случайные выборки неопределенной модели, чтобы дать вам ощущение распределения неопределенной динамики. Однако при использовании этих команд для возврата данных они работают только с номинальным значением системы.

В сложение можно использовать такие функции, как robstab и wcgain выполнить робастный и наихудший анализ неопределенных систем, представленных uss модели. Можно также использовать функции настройки, такие как systune для робастной настройки контроллера.

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

расширить все

feedbackCоединение обратной связи многих моделей
connectБлок взаимосвязей динамических систем
seriesПоследовательное соединение двух моделей
parallelПараллельное соединение двух моделей
stepПереходный процесс динамической системы; переходные характеристики
bodeДиаграмма Боде частотной характеристики, или данные величины и фазы
sigmaГрафик сингулярных значений динамической системы
marginЗапас по амплитуде, запас по фазе и частоты среза
diskmarginДисковые запасы устойчивости циклов обратной связи
usampleСгенерируйте случайные выборки неопределенной или обобщенной модели
robstabУстойчивая устойчивость неопределенной системы
robgainУстойчивая эффективность неопределенной системы
wcgainНаихудший коэффициент усиления неопределенной системы
wcsigmaplotПостроение графика наихудшего усиления неопределенной системы
musynУстойчивое проектирование контроллера с использованием Mu-Synthesis
systuneНастройка систем управления с фиксированной структурой, смоделированных в MATLAB

Примеры

свернуть все

Создайте передаточную функцию второго порядка с неопределенной собственной частотой и коэффициентом демпфирования.

w0 = ureal('w0',10);
zeta = ureal('zeta',0.7,'Range',[0.6,0.8]);

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

  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 = [-1,1], 5 occurrences
    zeta: Uncertain real, nominal = 0.7, range = [0.6,0.8], 1 occurrences

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

usys является неопределенным пространством состояний (uss) модель с двумя блоками Система Управления. Неопределенный действительный параметр w0 встречается пять раз в передаточной функции, два раза в числителе и три раза в знаменателе. Чтобы уменьшить количество вхождений, можно переписать передаточную функцию путем деления числителя и знаменателя на w0^2.

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

  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 = [-1,1], 3 occurrences
    zeta: Uncertain real, nominal = 0.7, range = [0.6,0.8], 1 occurrences

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

В новой формулировке существуют только три вхождений неопределенного параметра w0. Уменьшение количества вхождений блока Система Управления Block в модели может улучшить эффективность вычислений с участием модели.

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

step(usys)

Figure contains an axes. The axes contains 21 objects of type line. This object represents usys.

Когда вы используете команды линейного анализа, такие как step и bode для создания графиков отклика неопределенных систем они автоматически строят случайные выборки системы. Хотя эти выборки дают вам представление о области значений ответов, которые подпадают под неопределенность, они не обязательно включают ответ с наихудшим случаем. Чтобы анализировать наихудшие отклики неопределенных систем, используйте wcgain или wcsigmaplot.

Чтобы создать модель неопределенного пространства состояний, вы сначала используете Блоки Система Управления, чтобы создать неопределенные элементы. Затем используйте элементы, чтобы задать матрицы пространства состояний системы.

Например, создайте три неопределенных вещественных параметра и создайте из них матрицы пространств состояний.

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.

Отображение показывает, что система включает три неопределенных параметра.

Создайте неопределенную систему, содержащую номинальную модель с частотно-зависимым количеством неопределенности. Можно смоделировать такую неопределенность, используя ultidyn и взвешивающую функцию, которая представляет частотный профиль неопределенности. Предположим, что на низкой частоте, ниже 3 рад/с, модель может варьироваться до 40% от своего номинального значения. Около 3 рад/с, процентное изменение начинает увеличиваться. Неопределенность пересекает 100% при 15 рад/с и достигает 2000% при приблизительно 1000 рад/с. Создайте передаточную функцию с соответствующим профилем частоты, Wunc, для использования в качестве функции взвешивания, которая модулирует количество неопределенности с частотой.

Wunc = makeweight(0.40,15,3);
bodemag(Wunc)

Figure contains an axes. The axes contains an object of type line. This object represents Wunc.

Затем создайте передаточную функцию, представляющую номинальное значение системы. В данном примере используйте передаточную функцию с одним полюсом при s = -60 рад/с. Затем создайте ultidyn модель, чтобы представлять 1-входную, 1-выходную неопределенную динамику и добавить взвешенную неопределенность к номинальной передаточной функции.

sysNom = tf(1,[1/60 1]);
unc = ultidyn('unc',[1 1],'SampleStateDim',3); % samples of uncertain dynamics have three states

usys = sysNom*(1 + Wunc*unc);

% Set properties of usys
usys.InputName = 'u';
usys.OutputName = 'fs';

Исследуйте случайные выборки usys, чтобы увидеть эффект неопределенной динамики.

bode(usys,usys.Nominal)

Figure contains 2 axes. Axes 1 with title From: u To: fs contains 22 objects of type line. These objects represent usys, untitled1. Axes 2 contains 22 objects of type line. These objects represent usys, untitled1.

uss модели, как и все объекты модели, включают свойства, которые хранят динамику и метаданные модели. Просмотрите свойства модели неопределенного пространства состояний.

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];
sys = ss(A,B,C,D);     % create uss model

get(sys)
     NominalValue: [2x1 ss]
      Uncertainty: [1x1 struct]
                A: [2x2 umat]
                B: [2x1 umat]
                C: [2x2 umat]
                D: [2x1 double]
                E: []
        StateName: {2x1 cell}
        StateUnit: {2x1 cell}
    InternalDelay: [0x1 double]
       InputDelay: 0
      OutputDelay: [2x1 double]
               Ts: 0
         TimeUnit: 'seconds'
        InputName: {''}
        InputUnit: {''}
       InputGroup: [1x1 struct]
       OutputName: {2x1 cell}
       OutputUnit: {2x1 cell}
      OutputGroup: [1x1 struct]
            Notes: [0x1 string]
         UserData: []
             Name: ''
     SamplingGrid: [1x1 struct]

Большинство свойств ведут себя аналогично тому, как они ведут себя по отношению к ss объекты модели. The NominalValue свойство само по себе является ss объект модели. Поэтому можно анализировать номинальное значение так же, как и любую модель пространства состояний. Для образца вычислите полюсы и переходную характеристику номинальной системы.

pole(sys.NominalValue)
ans = 2×1

   -10
   -10

step(sys.NominalValue)

Figure contains 2 axes. Axes 1 contains an object of type line. This object represents untitled1. Axes 2 contains an object of type line. This object represents untitled1.

Как и с неопределенными матрицами (umat), а Uncertainty свойство является структурой, содержащей неопределенные элементы. Вы можете использовать это свойство для прямого доступа к неопределенным элементам. Для образца проверьте Range неопределенного элемента с именем p2 в пределах sys.

sys.Uncertainty.p2.Range
ans = 1×2

    2.5000    4.2000

Измените область значений неопределенностей p2 в пределах sys.

sys.Uncertainty.p2.Range = [2 4];

Эта команда изменяет только область значений параметра, называемого p2 в sys. Переменная не изменяется p2 в рабочем пространстве MATLAB.

p2.Range
ans = 1×2

    2.5000    4.2000

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