linmod2

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

Синтаксис

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

Аргументы

sys

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

x, u

Состояние (x) и вход (u) векторы. Если задано, они устанавливают рабочую точку, в которой извлекается линейная модель. Когда модель моделей-ссылок с использованием блока Model, необходимо использовать формат структуры 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-я строка является именем блока, сопоставленным со ith-е состояние. Входы и выходы нумеруются последовательно на схеме.

Для систем с одним входом и несколькими выходами можно преобразовать в форму передаточной функции с помощью стандартной программы ss2tf или к форме нулевого полюса с использованием ss2zp. Можно также преобразовать линеаризированные модели в объекты LTI с помощью ss. Эта функция создает объект LTI в форме пространства состояний, который может быть дополнительно преобразован в передаточную функцию или в форму с нулями , полюса и усиления, используя tf или zpk.

Алгоритмы по умолчанию в linmod и dlinmod обработайте блоки Transport Delay путем замены линеаризации блоков аппроксимацией Паде. Для получения дополнительной информации см. Раздел «Линеаризация моделей».

См. также

| |

Введенный в R2007a