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

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

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

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

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

  • Массив ячеек из символьных векторов Модели 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 с двумя или больше выходными параметрами

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

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

sys.OutputName = 'measurements';

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

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

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

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

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

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

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

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

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

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

  • '' — 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.

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

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

Матрицы, созданные с неопределенными параметрами, 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 рад/с и достигает 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