lsimplot

Постройте симулированный ответ времени динамической системы к произвольным входным параметрам с дополнительными опциями настройки графика

Описание

lsimplot позволяет вам построить симулированный ответ времени динамической системы к произвольным входным параметрам с более широкой областью значений опций настройки графика, чем lsim. Можно использовать lsimplot получить указатель графика и использовать его, чтобы настроить график, те, которые изменяют метки осей, пределы и модули. Можно также использовать lsimplot чертить симулированный график отклика времени на существующем наборе осей, представленных указателем осей. Настроить существующий симулированный график отклика времени с помощью указателя графика:

  1. Получите указатель графика

  2. Используйте getoptions получить набор опции

  3. Обновите график с помощью setoptions изменить необходимые опции

Для получения дополнительной информации см. Графики отклика Настройки из Командной строки (Control System Toolbox). Чтобы создать симулированные графики отклика времени с опциями по умолчанию или извлечь данные о симулированном отклике, использовать lsim.

h = lsimplot(sys) открывает Линейный Инструмент Симуляции для модели sys динамической системы, где можно в интерактивном режиме задать ведущий вход (входы), временной вектор и начальное состояние. Это также возвращается, график обрабатывают h. Можно использовать этот указатель h настроить график с getoptions и setoptions команды.

Для получения дополнительной информации об использовании Линейного Инструмента Симуляции для линейного анализа смотрите Работу с Линейным Инструментом Симуляции (Control System Toolbox).

пример

h = lsimplot(sys,u,t) строит симулированный ответ времени модели sys к входному сигналу u и соответствующий временной вектор t. Для систем MIMO, u матрица со столькими же столбцов сколько количество входных параметров и чей iстрока th задает входное значение во время t(i). Для систем SISO, входа u может быть задан или как строка или как вектор-столбец.

пример

h = lsimplot(sys1,sys2,...,sysN,u,t) строит симулированный отклик нескольких динамических систем sys1,sys2,…,sysN использование входа u и временной вектор t на том же графике. Все системы должны иметь то же количество вводов и выводов, чтобы использовать этот синтаксис.

пример

h = lsimplot(sys1,LineSpec1,...,sysN,LineSpecN,u,t) устанавливает стиль линии, тип маркера и цвет для симулированного ответа времени каждой системы. Все системы должны иметь то же количество вводов и выводов, чтобы использовать этот синтаксис.

пример

h = lsimplot(___,x0) далее задает векторный x0 из значений начального состояния, когда sys модель в пространстве состояний.

пример

h = lsimplot(___,method) задает как lsimplot интерполирует входные значения между выборками, когда sys модель непрерывного времени.

h = lsimplot(AX,___) строит симулированный отклик на Axes объект в текущей фигуре с указателем AX.

пример

h = lsimplot(___,plotoptions) строит симулированный отклик с набором опций, заданным в plotoptions. Можно использовать эти опции, чтобы настроить внешний вид графика с помощью командной строки. Настройки вы задаете в plotoptions заменяет настройки preference в MATLAB® сеанс, на котором вы запускаете lsimplot. Поэтому этот синтаксис полезен, когда это необходимо, чтобы записать скрипт, чтобы сгенерировать несколько графиков, которые выглядят одинаково независимо от локальных настроек.

Примеры

свернуть все

В данном примере измените единицы измерения времени в минуты и включите сетку для графика симулированного отклика. Рассмотрите следующую передаточную функцию.

sys = tf(3,[1 2 3]);

Чтобы вычислить ответ этой системы к произвольному входному сигналу, обеспечьте lsimplot с вектором времен t в котором вы хотите вычислить ответ и векторный u содержа соответствующие значения сигналов. Например, постройте отклик системы к сползающему сигналу шага, который запускается в 0 во время t = 0, пандусы от 0 в t = 1 к 1 в t = 2, и затем содержит устойчивый в 1. Задайте t и вычислите значения u.

t = 0:0.04:8;
u = max(0,min(t-1,1));

Используйте lsimplot постройте отклик системы к сигналу с указателем графика h.

h = lsimplot(sys,u,t);

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent Driving inputs, sys.

График показывает прикладной вход (u,t) в сером и отклике системы синего цвета.

Используйте указатель графика, чтобы изменить единицы измерения времени в минуты и включить сетку. Для этого отредактируйте свойства указателя графика, h использование setoptions.

setoptions(h,'TimeUnits','minutes','Grid','on')

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent Driving inputs, sys.

График автоматически обновляется, когда вы вызываете setoptions.

В качестве альтернативы можно также использовать timeoptions команда, чтобы задать необходимые опции графика. Во-первых, создайте набор опций на основе настроек тулбокса.

plotoptions = timeoptions('cstprefs');

Измените свойства опций, установленных путем установки единиц измерения времени на минуты и включения сетки.

plotoptions.TimeUnits = 'minutes';
plotoptions.Grid = 'on';
lsimplot(sys,u,t,plotoptions);

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent Driving inputs, sys.

lsimplot позволяет вам строить симулированные отклики нескольких динамических систем на той же оси. Например, сравните ответ с обратной связью системы с ПИ-контроллером и ПИД-регулятором. Затем настройте график путем включения нормализации и включения сетки.

Во-первых, создайте передаточную функцию системы и настройте контроллеры.

H = tf(4,[1 10 25]);
C1 = pidtune(H,'PI');
C2 = pidtune(H,'PID');

Сформируйте системы с обратной связью.

sys1 = feedback(H*C1,1);
sys2 = feedback(H*C2,1);

Постройте ответы обеих систем к прямоугольной волне с периодом 4 с.

[u,t] = gensig("square",4,12);
h1 = lsimplot(sys1,sys2,u,t);
legend("PI","PID")

Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent Driving inputs, PI, PID.

Используйте setoptions включить нормализацию и включить сетку.

setoptions(h1,'Normalize','on','Grid','on')

Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent Driving inputs, PI, PID.

График автоматически обновляется, когда вы вызываете setoptions.

По умолчанию, lsimplot выбирает разные цвета для каждой системы, которую вы строите. Можно задать цвета и стили линии с помощью LineSpec входной параметр.

h2 = lsimplot(sys1,"r--",sys2,"b",u,t);
legend("PI","PID")
setoptions(h2,'Normalize','on','Grid','on')

Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent Driving inputs, PI, PID.

Первый LineSpec R задает пунктирную красную линию для ответа с ПИ-контроллером. Второй LineSpec B задает чисто синюю линию для ответа с ПИД-регулятором. Легенда отражает заданные цвета и стили линии.

По умолчанию, lsimplot симулирует модель, принимающую, что все состояния являются нулем в начале симуляции. При симуляции ответа модели в пространстве состояний используйте дополнительный x0 входной параметр, чтобы задать ненулевые значения начального состояния. Рассмотрите следующую модель в пространстве состояний SISO с двумя состояниями.

A = [-1.5 -3;
      3   -1];
B = [1.3; 0];
C = [1.15 2.3];
D = 0;
sys = ss(A,B,C,D);

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

x0 = [-0.2 0.3];
t = 0:0.05:8;
u = zeros(length(t),1);
u(t>=2) = 1;

Во-первых, создайте набор опций по умолчанию с помощью timeoptions.

plotoptions = timeoptions;

Затем изменитесь, необходимые свойства опций устанавливают plotoptions и постройте симулированный отклик с нулевым порядком, содержат опцию.

plotoptions.Title.FontSize = 15;
plotoptions.Title.Color = [0 0 1];
plotoptions.Grid = 'on';
h = lsimplot(sys,u,t,x0,plotoptions,'zoh');
hold on
title('Simulated Time Response with Initial Conditions')

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent Driving inputs, sys.

Первая половина графика показывает свободную эволюцию системы от значений начального состояния [-0.2 0.3]. В t = 2 существует ступенчатое изменение к входу, и график показывает отклик системы этому новому сигналу, начинающемуся со значений состояния в то время. Поскольку plotoptions начинается с фиксированного набора опций, результат графика независим от настроек тулбокса сеанса работы с MATLAB.

Входные параметры

свернуть все

Динамическая система в виде SISO или модели динамической системы MIMO или массива моделей динамической системы. Динамические системы, которые можно использовать, включают:

  • Непрерывное время или дискретное время числовые модели LTI, такой как tf (Control System Toolbox), zpk (Control System Toolbox), или ss Модели (Control System Toolbox).

  • Разреженные модели в пространстве состояний, такой как sparss (Control System Toolbox) или mechss Модели (Control System Toolbox). Итоговое время tFinal должен быть задан при использовании разреженных моделей.

  • Обобщенные или неопределенные модели LTI такой как genss (Control System Toolbox) или uss Модели (Robust Control Toolbox). (Используя неопределенные модели требует программного обеспечения Robust Control Toolbox™.)

    • Для настраиваемых блоков системы управления функция оценивает модель в своем текущем значении, чтобы построить симулированный отклик.

    • Для неопределенных блоков системы управления, графики функций номинальная стоимость и случайные выборки модели.

  • Идентифицированные модели LTI, такой как idtf, idss, или idproc модели. Для идентифицированных моделей можно также использовать sim команда, которая может вычислить стандартное отклонение симулированного отклика и утвердить траектории. sim может также симулировать все типы моделей с ненулевыми начальными условиями и может симулировать нелинейные идентифицированные модели.

lsimplot не поддерживает модели данных частотной характеристики такой как frd, genfrd, или idfrd модели.

Если sys массив моделей, графики функций ответы всех моделей в массиве на тех же осях.

Стиль линии, цвет и маркер задается как символ или строка символов. Символы могут появиться в любом порядке. Вы не должны задавать все три характеристики (стиль линии, маркер и цвет). Например, если вы не используете стиль линии и задаете маркер, затем график показывает только маркер и никакую линию.

Пример: '--or' красная пунктирная линия с круговыми маркерами

Стиль линииОписание
-Сплошная линия
--Пунктирная линия
:Пунктирная линия
-.Штрихпунктирная линия
МаркерОписание
'o'Круг
'+'Знак «плюс»
'*'Звездочка
'.'Точка
'x'Крест
'_'Горизонтальная линия
'|'Вертикальная линия
's'Квадрат
'd'Ромб
'^'Треугольник, направленный вверх
'v'Нисходящий треугольник
'>'Треугольник, указывающий вправо
'<'Треугольник, указывающий влево
'p'Пентаграмма
'h'Гексаграмма
ЦветОписание

y

желтый

m

пурпурный

c

голубой

r

красный

g

зеленый

b

синий

w

белый

k

черный

Входной сигнал для симуляции в виде вектора для систем одно входа и массива для мультивходных систем.

  • Для систем одно входа, u вектор из той же длины как t.

  • Для мультивходных систем, u массив со столькими же строк, сколько существуют выборки времени (length(t)) и столько же столбцов сколько существует входные параметры к sys. Другими словами, каждая строка u(i,:) представляет значения, примененные во входных параметрах sys во время t(i). Каждый столбец u(:,j) сигнал, применился к jвход th sys.

Выборки времени, на которых можно вычислить ответ в виде вектора из формы 0:dT:Tf. lsimplot команда интерпретирует t как определение модулей в TimeUnit свойство модели sys. Временной вектор должен быть действительным, конечным, и должен содержать монотонно увеличение и равномерно распределенные выборки времени.

Для систем непрерывного времени, lsimplot команда использует временной шаг dT дискретизировать модель. Если dT является слишком большим относительно системной динамики (субдискретизация), lsimplot выдает предупреждение, рекомендующее более быстрое время выборки.

Для систем дискретного времени, временной шаг dT должен равняться шагу расчета sys. В качестве альтернативы можно не использовать t или набор это к []. В этом случае, lsimplot наборы t к вектору из той же длины как u это начинается в 0 с временного шага, равного sys.Ts.

Метод дискретизации для выборки моделей непрерывного времени в виде одного из следующих.

  • 'zoh' — Нулевой порядок содержит

  • 'foh' — Хранение первого порядка

Когда sys модель непрерывного времени, lsimplot вычисляет ответ времени путем дискретизации модели с помощью шага расчета, равного временному шагу dT = t(2)-t(1) из t. Если вы не задаете метод дискретизации, то lsimplot выбирает метод автоматически на основе гладкости u сигнала. Для получения дополнительной информации об этих двух методах дискретизации, см. Непрерывно-дискретные Методы Преобразования (Control System Toolbox).

Значения начального состояния для симуляции модели в пространстве состояний в виде вектора, имеющего одну запись для каждого состояния в sys. Если вы не используете этот аргумент, то lsim обнуляет все состояния в t = 0.

Целевые оси в виде Axes объект. Если вы не задаете оси и если текущей системой координат являются Оси декартовой системы координат, то stepplot графики на текущей системе координат. Используйте AX построить в определенные оси при создании графика шага.

Опции графика шага установлены в виде TimePlotOptions объект. Можно использовать этот набор опции, чтобы настроить внешний вид графика шага. Использование timeoptions создать набор опции. Настройки вы задаете в plotoptions заменяет настройки preference в сеансе работы с MATLAB, в котором вы запускаете stepplot. Поэтому plotoptions полезно, когда это необходимо, чтобы записать скрипт, чтобы сгенерировать несколько графиков, которые выглядят одинаково независимо от локальных настроек.

Для списка доступных параметров смотрите timeoptions.

Выходные аргументы

свернуть все

Постройте указатель, возвращенный как handle объект. Используйте указатель h получить и установить свойства использования графика симулированного отклика getoptions и setoptions. Для списка доступных параметров смотрите раздел Properties и Values Reference в Настройке Графиков отклика из Командной строки (Control System Toolbox).

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