linmodv5

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

Синтаксис

argout = linmodv5('sys');
argout = linmodv5('sys',x,u);
argout = linmodv5('sys', x, u, para);
argout = linmodv5('sys', x, u, para, xpert, upert);

Аргументы

sys

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

xU

Состояние (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.

xpert, upert

Значения возмущения раньше выполняли возмущение всех состояний и входные параметры модели. Значения по умолчанию

xpert = para(1) + 1e-3*para(1)*abs(x)
upert = para(1) + 1e-3*para(1)*abs(u)

Когда модель имеет модели - ссылки с помощью блока Model, необходимо использовать формат структуры Simulink, чтобы задать xpert. Извлекать xpert структура, используйте следующую команду:

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

Можно затем изменить значения возмущения в этой структуре путем редактирования xpert.signals.values.

Входные параметры возмущения только доступны при вызове алгоритма возмущения, созданного до MATLAB® 5.3, любого путем вызова linmodv5 или определение 'v5' входной параметр к linmod.

argout

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

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

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

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

Описание

linmodv5 вычисляет линейную модель в пространстве состояний с помощью полного алгоритма нарушения в работе модели, созданного до MATLAB 5.3.

linmodv5 получает линейные модели из систем обыкновенных дифференциальных уравнений, описанных как модели Simulink. Вводы и выводы обозначаются в использовании Диаграмм Simulink блоки Outport и Inport.

Примечания

По умолчанию системное время обнуляется. Для систем, которые зависят вовремя, можно установить переменную para к двухэлементному вектору, где второй элемент используется, чтобы установить значение t в котором можно получить линейную модель.

Упорядоченное расположение состояний от нелинейной модели до линейной модели обеспечено. Для систем Simulink переменная вектора символов, которая содержит имя блока, сопоставленное с каждым состоянием, может быть получена с помощью

[sizes,x0,xstring] = sys

где xstring вектор из строк, i-ая строка которых является именем блока, сопоставленным с iсостояние th. Вводы и выводы пронумерованы последовательно на схеме.

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

Алгоритмы по умолчанию в linmod и dlinmod обработайте Транспортные блоки Задержки, заменив линеаризацию блоков с аппроксимацией Паде. Для 'v5' алгоритм, линеаризация модели, которая содержит Производные или Транспортные блоки Задержки, могут быть неприятными. Для получения дополнительной информации см. Модели Линеаризации.

Смотрите также

| |

Представленный в R2011b