linmod

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

Синтаксис

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');

Аргументы

sys

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

x и u

Состояние (x) и вход (u) векторы. Если задано, они устанавливают рабочую точку, в которой извлекается линейная модель. Когда модель моделей-ссылок с использованием блока Model, необходимо использовать формат структуры Simulink, чтобы задать x. Чтобы извлечь x структуру из модели используйте следующую команду:

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

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

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

Ts

Шаг расчета линеаризированной модели в дискретном времени

'v5'

Необязательный аргумент, который вызывает алгоритм возмущения, созданный до MATLAB® 5.3. Вызов этого необязательного аргумента эквивалентен вызову linmodv5.

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 возвращает представления пространства состояний, если вы задаете выходную (левую) сторону уравнения следующим образом:

  • [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) возвращает структуру, которая содержит линеаризированную модель, включая имена состояний, входные и выходные имена и информацию о рабочей точке.

Описание

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

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

Алгоритм по умолчанию использует предварительно запрограммированный аналитический блок Jacobians для большинства блоков, который должен привести к более точной линеаризации, чем численное возмущение входов блоков и состояний. Список блоков, которые имеют предварительно запрограммированные аналитические якобианы, доступен в документации Simulink Control Design™ наряду с обсуждением блочного аналитического алгоритма линеаризации.

Алгоритм по умолчанию также позволяет особую обработку проблемных блоков, таких как Transport Delay и Quantizer. Смотрите диалоговое окно маски этих блоков для получения дополнительной информации и опций.

Примечания

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

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

[sizes,x0,xstring] = sys

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

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

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

См. также

| |

Введенный в R2007a