Извлеките дискретное время линейная модель в пространстве состояний вокруг рабочей точки
argout
= dlinmod('sys
',Ts
)argout
= dlinmod('sys
',Ts
,x
,u
)argout
= dlinmod('sys
',Ts
,x
,u
,para
, 'v5')argout
= dlinmod('sys
',Ts
,x
,u
,para
,xpert
,upert
, 'v5')
| Имя системы Simulink®, из которой извлечена линейная модель. |
| Состояние ( x = Simulink.BlockDiagram.getInitialState('sys'); Можно затем изменить значения рабочей точки в этой структуре путем редактирования Если состояние содержит различные типы данных (например, |
| Шаг расчета дискретного времени линеаризовавшая модель |
| Дополнительный аргумент, который вызывает алгоритм возмущения, созданный до MATLAB® 5.3. Вызов этого дополнительного аргумента эквивалентен вызову |
| Трехэлементный вектор из дополнительных аргументов:
|
| Значения возмущения раньше выполняли возмущение всех состояний и входные параметры модели. Значения по умолчанию xpert = para(1) + 1e-3*para(1)*abs(x) upert = para(1) + 1e-3*para(1)*abs(u) Когда модель имеет модели - ссылки с помощью блока Model, необходимо использовать формат структуры Simulink, чтобы задать xpert = Simulink.BlockDiagram.getInitialState('sys'); Можно затем изменить значения возмущения в этой структуре путем редактирования Входные параметры возмущения только доступны при вызове алгоритма возмущения, созданного до MATLAB 5.3, любого путем вызова |
|
linmod и dlinmod и также возвратите передаточную функцию и представления структуры данных MATLAB линеаризованной системы, в зависимости от того, как вы задаете выход (левая рука) сторона уравнения. Используя linmod как пример:
|
dlinmod
вычислите линейную модель в пространстве состояний для системы дискретного времени путем линеаризации каждого блока в модели индивидуально.
linmod
получает линейные модели из систем обыкновенных дифференциальных уравнений, описанных как модели Simulink. Вводы и выводы обозначаются в использовании Диаграмм Simulink блоки Outport и Inport.
Алгоритм по умолчанию использует предварительно запрограммированный аналитический блок Jacobians для большинства блоков, которые должны привести к более точной линеаризации, чем числовое возмущение входных параметров блока и состояний. Список блоков, которые имеют предварительно запрограммированные аналитические Якобианы, доступен в документации Simulink Control Design™ наряду с обсуждением блока блоком аналитический алгоритм для линеаризации.
Алгоритм по умолчанию также допускает специальный режим проблематичных блоков, таких как Transport Delay и Quantizer. Смотрите диалоговое окно маски этих блоков для получения дополнительной информации и опций.
Функциональный dlinmod
может линеаризовать дискретные, многоскоростные, и гибридные непрерывные и дискретные системы в любое данное время выборки. Используйте тот же синтаксис вызова для dlinmod
что касается linmod
, но вставьте шаг расчета, в котором можно выполнить линеаризацию в качестве второго аргумента. Например,
[Ad,Bd,Cd,Dd] = dlinmod('sys', Ts, x, u);
производит дискретную модель в пространстве состояний во время выборки Ts
и рабочая точка, данная вектором состояния x
и входной вектор u
. Чтобы получить непрерывное приближение модели дискретной системы, установите Ts
к 0
.
Для систем, состоявших из линейных, многоскоростных, дискретных, и непрерывных блоков, dlinmod
производит линейные модели, имеющие идентичную частоту и ответы времени (для постоянных входных параметров) в конвертированное время выборки Ts
, при условии, что
Ts
целочисленное кратное все время выборки в системе.
Система устойчива.
Для систем, которые не удовлетворяют первому условию, в целом линеаризация является изменяющейся во времени системой, которая не может быть представлена [A, B, C, D] модель в пространстве состояний что dlinmod
возвращается.
Вычисление собственных значений линеаризовавшего матричного Ad
обеспечивает индикацию относительно устойчивости системы. Система устойчива если Ts>0
и собственные значения в модульном кругу, как определено этим оператором:
all(abs(eig(Ad))) < 1
Аналогично, система устойчива если Ts = 0
и собственные значения находятся в левой полуплоскости, как определено этим оператором:
all(real(eig(Ad))) < 0
Когда система нестабильна, и шаг расчета не является целочисленным кратным другое время выборки, dlinmod
производит Ad
и Bd
матрицы, которые могут быть комплексными. Собственные значения Ad
матрица в этом случае все еще, однако, обеспечивает хорошую индикацию относительно устойчивости.
Можно использовать dlinmod
преобразовывать шаги расчета системы к другим значениям или преобразовывать линейную дискретную систему в непрерывную систему или наоборот.
Можно найти частотную характеристику непрерывной или дискретной системы при помощи bode
команда.
По умолчанию системное время обнуляется. Для систем, которые зависят вовремя, можно установить переменную para
к двухэлементному вектору, где второй элемент используется, чтобы установить значение t
в котором можно получить линейную модель.
Упорядоченное расположение состояний от нелинейной модели до линейной модели обеспечено. Для систем Simulink переменная вектора символов, которая содержит имя блока, сопоставленное с каждым состоянием, может быть получена с помощью
[sizes,x0,xstring] = sys
где xstring
вектор из строк, ith строка которых является именем блока, сопоставленным с i
состояние th. Вводы и выводы пронумерованы последовательно на схеме.
Поскольку одно вход мультивывел системы, можно преобразовать форму в передаточную функцию с помощью стандартного ss2tf
или к нулевой полюсной форме с помощью ss2zp
. Можно также преобразовать линеаризовавшие модели в объекты LTI с помощью ss
. Эта функция производит объект LTI в форме пространства состояний, которая может быть далее преобразована в передаточную функцию или форма нулей, полюсов и усиления с помощью tf
или zpk
.
Алгоритмы по умолчанию в linmod
и dlinmod
обработайте Транспортные блоки Задержки, заменив линеаризацию блоков с аппроксимацией Паде. Для 'v5'
алгоритм, линеаризация модели, которая содержит Производные или Транспортные блоки Задержки, могут быть неприятными. Для получения дополнительной информации см. Модели Линеаризации.