Извлечение модели линейного пространства состояний в дискретном времени вокруг рабочей точки
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 с использованием блоков Inport и Outport.
Алгоритм по умолчанию использует предварительно запрограммированный аналитический блок 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
является вектором строк, чья i-я строка является именем блока, сопоставленным со i
th-е состояние. Входы и выходы нумеруются последовательно на схеме.
Для систем с одним входом и несколькими выходами можно преобразовать в форму передаточной функции с помощью стандартной программы ss2tf
или к форме нулевого полюса с использованием ss2zp
. Можно также преобразовать линеаризированные модели в объекты LTI с помощью ss
. Эта функция создает объект LTI в форме пространства состояний, который может быть дополнительно преобразован в передаточную функцию или форму нули , полюса и усиления, используя tf
или zpk
.
Алгоритмы по умолчанию в linmod
и dlinmod
обработайте блоки Transport Delay путем замены линеаризации блоков аппроксимацией Паде. Для 'v5'
алгоритм, линеаризация модели, которая содержит блоки Derivative или Transport Delay, может быть проблематичной. Для получения дополнительной информации см. Раздел «Линеаризация моделей».