Модель неопределенного пространства состояний
Использование 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);
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'
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
- имена состояний{''}
(по умолчанию) | вектор символов | массив ячеек из векторов символовИмена состояний, заданные в качестве одного из следующих значений:
Вектор символов - Для моделей первого порядка
Массив ячеек из символьных векторов - Для моделей с двумя или более состояниями
''
- Для безымянных состояний
Можно задать StateName
использование строки, например "velocity"
, но имя состояния сохранено как вектор символов, 'velocity'
.
Пример: 'velocity'
Пример: {'x1','x2'}
StateUnit
- Государственные модули{''}
(по умолчанию) | вектор символов | массив ячеек из векторов символовМодули измерения состояния, заданные в качестве одного из следующих значений:
Вектор символов - Для моделей первого порядка
Массив ячеек из символьных векторов - Для моделей с двумя или более состояниями
''
- Для состояний без заданных модулей
Использование StateUnit
для отслеживания модулей измерения каждое состояние выражается в. StateUnit
не влияет на поведение системы.
Можно задать StateUnit
использование строки, например "mph"
, но модули состояний хранятся как вектор символов, 'mph'
.
Пример: 'mph'
Пример: {'rpm','rad/s'}
InternalDelay
- Внутренние задержкиВнутренние задержки, заданные как скаляр или вектор. Для моделей в непрерывном времени внутренние задержки выражаются в модуле времени, заданной TimeUnit
свойство объекта модели. Для моделей в дискретном времени внутренние задержки выражаются в виде целого числа, кратного шага расчета Ts
. Для примера, InternalDelay = 3
означает задержку на три периода дискретизации.
Значения внутренних задержек можно изменить. Однако количество записей в InternalDelay
не может измениться, потому что это структурное свойство модели.
Внутренние задержки возникают, например, при закрытии циклов обратной связи в системах с задержками или при соединении запаздывающих систем последовательно или параллельно. Дополнительные сведения о внутренних задержках см. в разделе Закрытие циклов обратной связи с временными задержками.
InputDelay
- Задержка на входахЗадержка на каждом входе, заданная как скаляр или вектор. Для системы с Nu
входы, задайте InputDelay
в Nu
-by-1 вектор. Каждый элемент этого вектора является числовым значением, которое представляет входу задержку для соответствующего канала входа. Для моделей в непрерывном времени задайте входные задержки в модуле времени, сохраненной в TimeUnit
свойство объекта модели. Для моделей в дискретном времени задайте входные задержки в целочисленных множителях шага расчета Ts
. Для примера, InputDelay = 3
означает задержку в три шагов расчета.
Задайте InputDelay
к скалярному значению, чтобы применить ту же задержку ко всем каналам.
OutputDelay
- Задержка на выходахЗадержка на каждом выходе, заданная как скаляр или вектор. Для системы с Ny
выходы, set OutputDelay
в Ny
-by-1 вектор. Каждый элемент этого вектора является числовым значением, которое представляет выходу задержку для соответствующего канала выхода. Для моделей в непрерывном времени задайте выходные задержки в модуле времени, сохраненной в TimeUnit
свойство объекта модели. Для моделей в дискретном времени задайте выходные задержки в целочисленных множителях шага расчета Ts
. Для примера, OutputDelay = 3
означает задержку в три шагов расчета.
Задайте OutputDelay
к скалярному значению, чтобы применить ту же задержку ко всем каналам.
Ts
- Шаг расчетаШаг расчета, заданная как:
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
- Имена входных каналов{''}
(по умолчанию) | вектор символов | массив ячеек из векторов символовИмена каналов входа, заданные в качестве одного из следующих значений:
Вектор символов - Для моделей с одним входом
Массив ячеек из символьных векторов - Для моделей с двумя или более входами
''
- Для входов без заданных имен
Можно использовать автоматическое расширение вектора, чтобы присвоить входные имена для мультивходов. Для примера, если sys
является моделью с двумя входами, введите:
sys.InputName = 'controls';
Имена входа автоматически расширяются на {'controls(1)';'controls(2)'}
.
Можно использовать сокращённое обозначение u
для ссылки на InputName
свойство. Для примера, sys.u
эквивалентно sys.InputName
.
Входные имена каналов имеют несколько применений, включая:
Идентификация каналов на отображении модели и графиках
Извлечение подсистем систем MIMO
Определение точек соединения при соединении моделей
Можно задать InputName
использование строки, например "voltage"
, но имя входа хранится как вектор символов, 'voltage'
.
InputUnit
- Модули входных сигналов{''}
(по умолчанию) | вектор символов | массив ячеек из векторов символовМодули входных сигналов, заданные в качестве одного из следующих значений:
Вектор символов - Для моделей с одним входом
Массив ячеек из символьных векторов - Для моделей с двумя или более входами
''
- Для входов без заданных модулей
Использование 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
- Имена выходных каналов{''}
(по умолчанию) | вектор символов | массив ячеек из векторов символовИмена каналов выхода, заданные в качестве одного из следующих значений:
Вектор символов - Для моделей с одним выходом
Массив ячеек из символьных векторов - Для моделей с двумя или более выходами
''
- Для выходов без заданных имен
Можно использовать автоматическое расширение вектора, чтобы назначить имена выходов для мультивыходов. Для примера, если sys
является двухвыпускной моделью, введите:
sys.OutputName = 'measurements';
Выходы данных автоматически расширяются на {'measurements(1)';'measurements(2)'}
.
Можно использовать сокращённое обозначение y
для ссылки на OutputName
свойство. Для примера, sys.y
эквивалентно sys.OutputName
.
Имена выходных каналов имеют несколько применений, включая:
Идентификация каналов на отображении модели и графиках
Извлечение подсистем систем MIMO
Определение точек соединения при соединении моделей
Можно задать OutputName
использование строки, например "rpm"
, но имя выхода хранится как вектор символов, 'rpm'
.
OutputUnit
- Модули выходных сигналов{''}
(по умолчанию) | вектор символов | массив ячеек из векторов символовМодули сигналов выхода, заданные в качестве одного из следующих значений:
Вектор символов - Для моделей с одним выходом
Массив ячеек из символьных векторов - Для моделей с двумя или более выходами
''
- Для выходов без заданных модулей
Использование 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
(Simulink Control Design) и slLinearizer
(Simulink Control Design) заполните SamplingGrid
таким образом.
Большинство функций, которые работают с числовыми моделями LTI, также работают с uss
модели. Они включают функции соединения моделей, такие как connect
и feedback
, и функции линейного анализа, такие как bode
и stepinfo
. Некоторые функции, которые генерируют графики, такие как bode
и step
, постройте случайные выборки неопределенной модели, чтобы дать вам ощущение распределения неопределенной динамики. Однако при использовании этих команд для возврата данных они работают только с номинальным значением системы.
В сложение можно использовать такие функции, как robstab
и wcgain
выполнить робастный и наихудший анализ неопределенных систем, представленных uss
модели. Можно также использовать функции настройки, такие как systune
для робастной настройки контроллера.
Следующие списки содержат репрезентативное подмножество функций, с которыми можно использовать uss
модели.
step | Переходный процесс динамической системы; переходные характеристики |
bode | Диаграмма Боде частотной характеристики, или данные величины и фазы |
sigma | График сингулярных значений динамической системы |
margin | Запас по амплитуде, запас по фазе и частоты среза |
diskmargin | Дисковые запасы устойчивости циклов обратной связи |
usample | Сгенерируйте случайные выборки неопределенной или обобщенной модели |
robstab | Устойчивая устойчивость неопределенной системы |
robgain | Устойчивая эффективность неопределенной системы |
wcgain | Наихудший коэффициент усиления неопределенной системы |
wcsigmaplot | Построение графика наихудшего усиления неопределенной системы |
Создайте передаточную функцию второго порядка с неопределенной собственной частотой и коэффициентом демпфирования.
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)
Когда вы используете команды линейного анализа, такие как 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)
Затем создайте передаточную функцию, представляющую номинальное значение системы. В данном примере используйте передаточную функцию с одним полюсом при 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
объекты модели. The 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
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.