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);

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 для получения дополнительной информации о моделях в пространстве состояний дескриптора.

Имена состояния, заданные как одно из этих значений:

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

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

  • '' — Для состояний без имени

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

Пример: 'velocity'

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

Модули состояния, заданные как одно из этих значений:

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

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

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

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

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

Пример: 'mph'

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

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

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

Внутренние задержки возникают, например, когда заключительная обратная связь в системах с задержками, или при соединении задержанных систем последовательно или параллели. Для получения дополнительной информации о внутренних задержках, смотрите закрывающуюся Обратную связь с Задержками (Control System Toolbox).

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

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

Задержитесь при каждом выходе, заданном как скаляр или вектор. Для системы с Ny выходные параметры, набор OutputDelay к Ny- 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 преобразовывать между единицами измерения времени, не изменяя поведение системы.

Имена входных каналов, заданных как одно из этих значений:

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

  • Массив ячеек из символьных векторов Модели For с двумя или больше входными параметрами

  • '' — Для входных параметров без указанных имен

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

sys.InputName = 'controls';

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

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

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

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

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

  • Определение точек контакта, когда взаимосвязанные модели

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

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

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

  • Массив ячеек из символьных векторов Модели For с двумя или больше входными параметрами

  • '' — Для входных параметров без заданных модулей

Используйте 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])

Имена выходных каналов, заданных как одно из этих значений:

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

  • Массив ячеек из символьных векторов Модели For с двумя или больше выходными параметрами

  • '' — Для выходных параметров без указанных имен

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

sys.OutputName = 'measurements';

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

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

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

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

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

  • Определение точек контакта, когда взаимосвязанные модели

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

Сигналы единиц работ, заданные как одно из этих значений:

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

  • Массив ячеек из символьных векторов Модели For с двумя или больше выходными параметрами

  • '' — Для выходных параметров без заданных модулей

Используйте 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 и slLinearizer заполните SamplingGrid таким образом.

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

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

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

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

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

feedbackCоединение обратной связи многих моделей
connectСоединения блок-схемы динамических систем
seriesПоследовательная связь двух моделей
parallelПараллельная связь двух моделей
stepПереходный процесс динамической системы; данные о переходном процессе
bodeДиаграмма Боде частотной характеристики, или величина и данные о фазе
sigmaГрафик сингулярных значений динамической системы
marginЗапас по амплитуде, запас по фазе и частоты среза
diskmarginНаходящиеся на диске запасы устойчивости обратной связи
uss/usampleСгенерируйте случайные выборки неопределенной или обобщенной модели
robstabУстойчивая устойчивость неопределенной системы
robgainУстойчивая производительность неопределенной системы
wcgainУсиление худшего случая неопределенной системы
wcsigmaПостройте усиление худшего случая неопределенной системы
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. Сокращение количества случаев Блока Системы управления в модели может улучшать производительность вычислений, включающих модель.

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

step(usys)

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

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

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

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];

Матрицы создаются неопределенными параметрами, AB, и 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 рад/с и достигает 2 000% на уровне приблизительно 1 000 рад/с. Создайте передаточную функцию с соответствующим профилем частоты, Wunc, использовать в качестве функции взвешивания, которая модулирует сумму неопределенности с частотой.

Wunc = makeweight(0.40,15,3);
bodemag(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)

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 объекты модели. NominalValue свойством является самостоятельно ss объект модели. Можно поэтому анализировать номинальную стоимость, когда вы были бы любая модель в пространстве состояний. Например, вычислите полюса и переходной процесс номинальной системы.

pole(sys.NominalValue)
ans = 2×1

   -10
   -10

step(sys.NominalValue)

Как с неопределенными матрицами (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