exponenta event banner

linmod2

Извлечение линейной модели пространства состояния с непрерывным временем вокруг рабочей точки

Синтаксис

argout = linmod2('sys', x, u);
argout = linmod2('sys', x, u, para);

Аргументы

sys

Имя системы Simulink ®, из которой извлекается линейная модель.

x, u

Государство (x) и вход (u) векторы. Если указано, они задают рабочую точку, в которой извлекается линейная модель. Если модель имеет ссылки на модель с помощью блока «Модель», необходимо использовать формат структуры Simulink для задания x. Извлечение x используйте следующую команду:

x = Simulink.BlockDiagram.getInitialState('sys');

Затем можно изменить значения рабочих точек в этой структуре путем редактирования x.signals.values.

Если состояние содержит различные типы данных (например, 'double' и 'uint8'), то для задания этого состояния нельзя использовать вектор. Вместо этого необходимо использовать структуру. Кроме того, можно указать состояние как вектор только в том случае, если типом данных состояния является 'double'.

para

Трехэлементный вектор необязательных аргументов:

  • para(1) - значение возмущения дельты, значение, используемое для выполнения возмущения состояний и входов модели. Это допустимо для линеаризаций с использованием 'v5' флаг. Значение по умолчанию - 1e-05.

  • para(2) - Время линеаризации. Для блоков, являющихся функциями времени, можно задать этот параметр с неотрицательным значением, которое дает время (t), при котором Simulink оценивает блоки при линеаризации модели. Значение по умолчанию - 0.

  • para(3) - Комплект para(3)=1 для удаления дополнительных состояний, связанных с блоками, не имеющими пути от входа к выходу. Значение по умолчанию - 0.

argout

linmod, dlinmod, и linmod2 возвращать представления состояния-пространства, если задана выходная (левая) сторона уравнения следующим образом:

  • [A,B,C,D] = linmod('sys', x, u) получает линеаризованную модель sys вокруг рабочей точки с заданными переменными состояния x и вход u. Если опустить x и u, значения по умолчанию равны нулю.

linmod и dlinmod оба также возвращают передаточную функцию и представления структуры данных MATLAB ® линеаризованной системы в зависимости от способа задания выходной (левой) стороны уравнения. Используяlinmod в качестве примера:
  • [num, den] = linmod('sys', x, u) возвращает линеаризованную модель в форме передаточной функции.

  • sys_struc = linmod('sys', x, u) возвращает структуру, содержащую линеаризованную модель, включая имена состояний, имена входных и выходных данных и информацию об операционной точке.

Описание

linmod2 вычисляет линейную модель состояния-пространства, нарушая входные данные модели и состояния модели, и использует расширенный алгоритм для уменьшения ошибок усечения.

linmod2 получает линейные модели из систем обыкновенных дифференциальных уравнений, описанных как модели 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. Дополнительные сведения см. в разделе Линеаризация моделей.

См. также

| |

Представлен в R2007a