Извлечение линейной модели пространства состояния с непрерывным временем вокруг рабочей точки
argout= linmod('sys');argout= linmod('sys', x, u);argout= linmod('sys', x, u, para);argout= linmod('sys', x, u, 'v5');argout= linmod('sys', x, u, para, 'v5');argout= linmod('sys', 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) Если модель имеет ссылки на модель с помощью блока «Модель», необходимо использовать формат структуры Simulink для задания xpert = Simulink.BlockDiagram.getInitialState('sys');Затем можно изменить значения возмущений в этой структуре, отредактировав Входные аргументы возмущений доступны только при вызове алгоритма возмущений, созданного до MATLAB 5.3, либо путем вызова |
|
linmod и dlinmod оба также возвращают передаточную функцию и представления структуры данных MATLAB линеаризованной системы в зависимости от способа задания выходной (левой) стороны уравнения. Используя linmod в качестве примера:
|
linmod вычислить линейную модель состояния-пространства путем линеаризации каждого блока в модели по отдельности.
linmod получает линейные модели из систем обыкновенных дифференциальных уравнений, описанных как модели Simulink. Входы и выходы обозначены на блок-схемах Simulink с использованием блоков Inport и Outport.
Алгоритм по умолчанию использует предварительно запрограммированные аналитические блочные якобианы для большинства блоков, что должно привести к более точной линеаризации, чем численное возмущение входов и состояний блоков. Список блоков с предварительно запрограммированными аналитическими якобинцами доступен в документации Simulink Control Design™ вместе с обсуждением блочно-аналитического алгоритма линеаризации.
Алгоритм по умолчанию также допускает специальную обработку проблемных блоков, таких как транспортная задержка и квантователь. Дополнительные сведения и параметры см. в диалоговом окне маски этих блоков.
По умолчанию системное время равно нулю. Для систем, зависящих от времени, можно задать переменную para к двухэлементному вектору, где второй элемент используется для установки значения t при котором будет получена линейная модель.
Порядок состояний от нелинейной модели к линейной модели сохраняется. Для систем Simulink переменная символьного вектора, содержащая имя блока, связанное с каждым состоянием, может быть получена с помощью
[sizes,x0,xstring] = sys
где xstring - вектор строк, i-я строка которого является именем блока, связанного с iВ-м штате. Входы и выходы пронумерованы на диаграмме последовательно.
Для систем с одним входом и несколькими выходами форму функции переноса можно преобразовать с помощью подпрограммы. ss2tf или в форму нулевого полюса с использованием ss2zp. Линеаризованные модели можно также преобразовать в объекты LTI с помощью ss. Эта функция создает объект LTI в форме state-space, который может быть дополнительно преобразован в передаточную функцию или форму с нулевым коэффициентом усиления с помощью tf или zpk.
Алгоритмы по умолчанию в linmod обрабатывать блоки задержки переноса путем замены линеаризации блоков аппроксимацией Pade. Для 'v5' алгоритм, линеаризация модели, которая содержит блоки производной или задержки переноса, может быть проблематичным. Дополнительные сведения см. в разделе Линеаризация моделей.