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