Неопределенная модель в пространстве состояний
Используйте 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
).
NominalValue
— Номинальная стоимость неопределенной моделиss
объект модели Номинальная стоимость неопределенной модели, заданной как пространство состояний (ss
) объект модели. Модель в пространстве состояний получена путем установки всех неопределенных блоков системы управления неопределенной модели к их номинальной стоимости.
Uncertainty
— Неопределенные элементыНеопределенные элементы модели, заданной как структура, поля которой являются именами неопределенных блоков, и чьи значения являются самими блоками системы управления. Таким образом значениями, сохраненными в структуре, может быть 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'
A, B, C, D, E
— Матрицы пространства состоянийЭто свойство доступно только для чтения.
Матрицы пространства состояний, заданные как числовые матрицы или неопределенные матрицы (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
— Имена состояния{''}
(значение по умолчанию) | вектор символов | массив ячеек из символьных векторовИмена состояния, заданные как одно из этих значений:
Вектор символов — Для моделей первого порядка
Массив ячеек из символьных векторов Модели For с двумя или больше состояниями
''
— Для состояний без имени
Можно задать StateName
с помощью строки, такой как "velocity"
, но имя состояния хранится как вектор символов, 'velocity'
.
Пример: 'velocity'
Пример: {'x1','x2'}
StateUnit
— Модули состояния{''}
(значение по умолчанию) | вектор символов | массив ячеек из символьных векторовМодули состояния, заданные как одно из этих значений:
Вектор символов — Для моделей первого порядка
Массив ячеек из символьных векторов Модели For с двумя или больше состояниями
''
— Для состояний без заданных модулей
Используйте StateUnit
чтобы отслеживать модули, каждое состояние выражается в. StateUnit
не оказывает влияния на поведение системы.
Можно задать StateUnit
с помощью строки, такой как "mph"
, но модули состояния хранятся как вектор символов, 'mph'
.
Пример: 'mph'
Пример: {'rpm','rad/s'}
InternalDelay
— Внутренние задержкиВнутренние задержки, заданные как скаляр или вектор. Для моделей непрерывного времени внутренние задержки выражаются в единице измерения времени, заданной TimeUnit
свойство объекта модели. Для моделей дискретного времени внутренние задержки выражаются как целочисленные множители шага расчета Ts
. Например, InternalDelay = 3
означает задержку трех периодов выборки.
Можно изменить значения внутренних задержек. Однако количество записей в InternalDelay
не может измениться, потому что это - структурное свойство модели.
Внутренние задержки возникают, например, когда заключительная обратная связь в системах с задержками, или при соединении задержанных систем последовательно или параллели. Для получения дополнительной информации о внутренних задержках, смотрите закрывающуюся Обратную связь с Задержками (Control System Toolbox).
InputDelay
— Задержитесь во входных параметрахЗадержитесь в каждом входе, заданном как скаляр или вектор. Для системы с Nu
входные параметры, набор InputDelay
к Nu
- 1 вектор. Каждая запись этого вектора является численным значением, которое представляет входную задержку соответствующего входного канала. Для моделей непрерывного времени задайте входные задержки единицы измерения времени, сохраненной в TimeUnit
свойство объекта модели. Для моделей дискретного времени задайте входные задержки целочисленных множителей шага расчета Ts
. Например, InputDelay = 3
означает задержку трех шагов расчета.
Установите InputDelay
к скалярному значению, чтобы применить ту же задержку со всеми каналами.
OutputDelay
— Задержитесь при выходных параметрахЗадержитесь при каждом выходе, заданном как скаляр или вектор. Для системы с Ny
выходные параметры, набор OutputDelay
к Ny
- 1 вектор. Каждая запись этого вектора является численным значением, которое представляет выходную задержку соответствующего выходного канала. Для моделей непрерывного времени задайте выходные задержки единицы измерения времени, сохраненной в TimeUnit
свойство объекта модели. Для моделей дискретного времени задайте выходные задержки целочисленных множителей шага расчета Ts
. Например, OutputDelay = 3
означает задержку трех шагов расчета.
Установите OutputDelay
к скалярному значению, чтобы применить ту же задержку со всеми каналами.
Ts
'SampleTime' Шаг расчета, заданный как:
0 — Для моделей непрерывного времени.
Значение положительной скалярной величины — Для моделей дискретного времени. Задайте шаг расчета в модулях, данных в TimeUnit
свойство модели.
– 1 — Для моделей дискретного времени с незаданным шагом расчета.
Изменение этого свойства не дискретизирует или передискретизирует модель. Используйте c2d
и d2c
преобразовывать между представлениями непрерывного времени и дискретного времени. Используйте d2d
изменить шаг расчета системы дискретного времени.
TimeUnit
— Единицы измерения времени модели'seconds'
(значение по умолчанию) | 'minutes'
| 'milliseconds'
| ...Единицы измерения времени модели, заданные как одно из этих значений:
'nanoseconds'
'microseconds'
'milliseconds'
'seconds'
'minutes'
'hours'
'days'
'weeks'
'months'
'years'
Можно задать TimeUnit
с помощью строки, такой как "hours"
, но единицы измерения времени хранятся как вектор символов, 'hours'
.
Свойства модели, такие как шаг расчета Ts
, InputDelay
, OutputDelay
, и другие задержки выражаются в модулях, заданных TimeUnit
. Изменение этого свойства не оказывает влияния на другие свойства, и поэтому изменяет полное поведение системы. Используйте chgTimeUnit
преобразовывать между единицами измерения времени, не изменяя поведение системы.
InputName
— Имена входных каналов{''}
(значение по умолчанию) | вектор символов | массив ячеек из символьных векторовИмена входных каналов, заданных как одно из этих значений:
Вектор символов — Для моделей одно входа
Массив ячеек из символьных векторов Модели For с двумя или больше входными параметрами
''
— Для входных параметров без указанных имен
Можно использовать автоматическое векторное расширение, чтобы присвоить входные имена для мультивходных моделей. Например, если sys
2D входная модель, введите:
sys.InputName = 'controls';
Входные имена автоматически расширяются до {'controls(1)';'controls(2)'}
.
Можно использовать краткое обозначение u
относиться к InputName
свойство. Например, sys.u
эквивалентно sys.InputName
.
Входные названия канала имеют несколько использования, включая:
Идентификация каналов на отображении модели и графиках
Извлечение подсистем систем MIMO
Определение точек контакта, когда взаимосвязанные модели
Можно задать InputName
с помощью строки, такой как "voltage"
, но входное имя хранится как вектор символов, 'voltage'
.
InputUnit
— Модули входных сигналов{''}
(значение по умолчанию) | вектор символов | массив ячеек из символьных векторовМодули входных сигналов, заданных как одно из этих значений:
Вектор символов — Для моделей одно входа
Массив ячеек из символьных векторов Модели For с двумя или больше входными параметрами
''
— Для входных параметров без заданных модулей
Используйте InputUnit
чтобы отслеживать модули, каждый входной сигнал выражается в. InputUnit
не оказывает влияния на поведение системы.
Можно задать InputUnit
с помощью строки, такой как "voltage"
, но входные модули хранятся как вектор символов, 'voltage'
.
Пример: 'voltage'
Пример: {'voltage','rpm'}
InputGroup
— Введите группы каналаВведите группы канала, заданные как структура, где поля являются названиями группы, и значения являются индексами входных каналов, принадлежащих соответствующей группе. Когда вы используете InputGroup
чтобы присвоить входные каналы систем MIMO группам, можно обратиться к каждой группе по наименованию, когда необходимо получить доступ к ней. Например, предположите, что у вас есть модель sys
с пятью входами, где первые три входных параметров являются входными параметрами управления, и остающиеся два входных параметров представляют шум. Присвойте управление и шумовые входные параметры
sys
разделить группы.
sys.InputGroup.controls = [1:3]; sys.InputGroup.noise = [4 5];
Используйте название группы, чтобы извлечь подсистему от входных параметров управления до всех выходных параметров.
sys(:,'controls')
Пример: struct('controls',[1:3],'noise',[4 5])
OutputName
— Имена выходных каналов{''}
(значение по умолчанию) | вектор символов | массив ячеек из символьных векторовИмена выходных каналов, заданных как одно из этих значений:
Вектор символов — Для моделей одно выхода
Массив ячеек из символьных векторов Модели For с двумя или больше выходными параметрами
''
— Для выходных параметров без указанных имен
Можно использовать автоматическое векторное расширение, чтобы присвоить выходные имена для мультивыходных моделей. Например, если sys
2D выходная модель, введите:
sys.OutputName = 'measurements';
Выходные имена автоматически расширяются до {'measurements(1)';'measurements(2)'}
.
Можно использовать краткое обозначение y
относиться к OutputName
свойство. Например, sys.y
эквивалентно sys.OutputName
.
Выходные названия канала имеют несколько использования, включая:
Идентификация каналов на отображении модели и графиках
Извлечение подсистем систем MIMO
Определение точек контакта, когда взаимосвязанные модели
Можно задать OutputName
с помощью строки, такой как "rpm"
, но выходное имя хранится как вектор символов, 'rpm'
.
OutputUnit
— Сигналы единиц работ{''}
(значение по умолчанию) | вектор символов | массив ячеек из символьных векторовСигналы единиц работ, заданные как одно из этих значений:
Вектор символов — Для моделей одно выхода
Массив ячеек из символьных векторов Модели For с двумя или больше выходными параметрами
''
— Для выходных параметров без заданных модулей
Используйте OutputUnit
чтобы отслеживать модули, каждый выходной сигнал выражается в. OutputUnit
не оказывает влияния на поведение системы.
Можно задать OutputUnit
с помощью строки, такой как "voltage"
, но устройства вывода хранятся как вектор символов, 'voltage'
.
Пример: 'voltage'
Пример: {'voltage','rpm'}
OutputGroup
— Выведите группы каналаВыведите группы канала, заданные как структура, где поля являются названиями группы, и значения являются индексами выходных каналов, принадлежащих соответствующей группе. Когда вы используете OutputGroup
чтобы присвоить выходные каналы систем MIMO группам, можно обратиться к каждой группе по наименованию, когда необходимо получить доступ к ней. Например, предположите, что у вас есть модель sys
с четырьмя выходами, где второй выход является температурой, и остальные - измерения состояния. Присвойте эти выходные параметры, чтобы разделить группы.
sys.OutputGroup.temperature = [2]; sys.InputGroup.measurements = [1 3 4];
Используйте название группы, чтобы извлечь подсистему от всех входных параметров до измерения выходные параметры.
sys('measurements',:)
Пример: struct('temperature',[2],'measurement',[1 3 4])
Notes
— Текст отмечает о модели[0×1 string]
(значение по умолчанию) | представляет в виде строки | массив ячеек вектора символовТекст отмечает о модели, сохраненной как строка или массив ячеек из символьных векторов. Свойство хранит, какой бы ни из этих двух типов данных вы обеспечиваете. Например, предположите тот 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.'
UserData
— Данные сопоставлены с моделью[]
(значение по умолчанию) | любой тип данныхДанные любого вида, который вы хотите сопоставить и сохранить моделью, заданной как любой тип данных MATLAB®.
Name
— Имя модели''
(значение по умолчанию) | вектор символовИмя модели, сохраненное как вектор символов. Можно задать Name
с помощью строки, такой как "DCmotor"
, но устройства вывода хранятся как вектор символов, 'DCmotor'
.
Пример: 'system_1'
SamplingGrid
— Выборка сетки для массивов моделейВыборка сетки для массивов моделей, заданных как структура. Для массивов моделей, которые выведены путем выборки одной или нескольких независимых переменных, это дорожки свойства значения переменных, сопоставленные с каждой моделью в массиве. Эта информация появляется, когда вы отображаете или строите массив моделей. Используйте эту информацию, чтобы проследить результаты до независимых переменных.
Установите имена полей структуры данных к именам переменных выборки. Установите значения полей к произведенным значениям переменных, сопоставленным с каждой моделью в массиве. Все переменные выборки должны быть числовыми и скаляр, оцененный, и все массивы произведенных значений должны совпадать с размерностями массива моделей.
Например, предположите, что вы создаете 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
модели.
step | Переходный процесс динамической системы; данные о переходном процессе |
bode | Диаграмма Боде частотной характеристики, или величина и данные о фазе |
sigma | График сингулярных значений динамической системы |
margin | Запас по амплитуде, запас по фазе и частоты среза |
diskmargin | Находящиеся на диске запасы устойчивости обратной связи |
uss/usample | Сгенерируйте случайные выборки неопределенной или обобщенной модели |
robstab | Устойчивая устойчивость неопределенной системы |
robgain | Устойчивая производительность неопределенной системы |
wcgain | Усиление худшего случая неопределенной системы |
wcsigma | Постройте усиление худшего случая неопределенной системы |
Создайте передаточную функцию второго порядка с неопределенной собственной частотой и коэффициентом затухания.
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
ucomplex
| ultidyn
| umat
| ureal
| uss/usample
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.