Неопределенная модель в пространстве состояний
Используйте объекты модели 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
-by-1 вектор. Каждая запись этого вектора является численным значением, которое представляет входную задержку соответствующего входного канала. Для непрерывно-разовых моделей задайте входные задержки единицы измерения времени, сохраненной в свойстве TimeUnit
объекта модели. Для моделей дискретного времени задайте входные задержки целочисленных множителей шага расчета Ts
. Например, InputDelay = 3
означает задержку трех шагов расчета.
Установите InputDelay
на скалярное значение применять ту же задержку со всеми каналами.
OutputDelay
— Задержитесь при выходных параметрахЗадержитесь при каждом выводе, заданном как скаляр или вектор. Для системы с Ny
выходные параметры, набор OutputDelay
к Ny
-by-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 с двумя или больше выходными параметрами
''
— For выходные параметры без указанных имен
Можно использовать автоматическое векторное расширение, чтобы присвоить выходные имена для мультивыходных моделей. Например, если sys
является 2D выходной моделью, введите:
sys.OutputName = 'measurements';
Выходные имена автоматически расширяются до {'measurements(1)';'measurements(2)'}
.
Можно использовать краткое обозначение y
, чтобы относиться к свойству OutputName
. Например, sys.y
эквивалентен sys.OutputName
.
Выходные названия канала имеют несколько использования, включая:
Идентификация каналов на образцовом отображении и графиках
Извлечение подсистем систем MIMO
Определение точек контакта, когда взаимосвязанные модели
Можно задать OutputName
с помощью строки, такой как "rpm"
, но выходное имя хранится как вектор символов, 'rpm'
.
OutputUnit
— Сигналы единиц работ{''}
(значение по умолчанию) | вектор символов | массив ячеек из символьных векторовСигналы единиц работ, заданные как одно из этих значений:
Вектор символов — Для моделей одно вывода
Массив ячеек из символьных векторов Модели For с двумя или больше выходными параметрами
''
— 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])
Примечания
Текст отмечает о модели[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
с помощью строки, такой как "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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.