Извлеките дискретное время линейная модель в пространстве состояний вокруг рабочей точки
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™ наряду с обсуждением блока блоком аналитический алгоритм для линеаризации.
Алгоритм по умолчанию также допускает специальный режим проблематичных блоков, таких как Транспортная Задержка и Квантизатор. Смотрите диалоговое окно маски этих блоков для получения дополнительной информации и опций.
Функциональный 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
обрабатывают Транспортные блоки Задержки, заменяя линеаризацию блоков с приближением Pade. Для алгоритма 'v5'
линеаризация модели, которая содержит Производные или Транспортные блоки Задержки, может быть неприятной. Для получения дополнительной информации см. Модели Линеаризации.