impulseplot

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

Описание

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

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

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

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

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

пример

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

пример

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

пример

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

пример

h = impulseplot(___,tFinal) симулирует импульсную характеристику от t = 0 к итоговому времени t = tFinal. Задайте tFinal в модулях системного времени, заданных в TimeUnit свойство sys. Для систем дискретного времени с незаданным шагом расчета (Ts = -1), impulseplot интерпретирует tFinal как количество интервалов выборки, чтобы симулировать.

пример

h = impulseplot(___,t) симулирует импульсную характеристику с помощью временного вектора t. Задайте t в модулях системного времени, заданных в TimeUnit свойство sys.

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

пример

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

Примеры

свернуть все

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

Сгенерируйте случайную модель в пространстве состояний с 5 состояниями и создайте график импульсной характеристики с указателем графика h.

rng("default")
sys = rss(5);
h = impulseplot(sys);

Figure contains an axes object. The axes object contains an object of type line. This object represents sys.

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

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

Figure contains an axes object. The axes object contains an object of type line. This object represents sys.

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

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

plotoptions = timeoptions('cstprefs');

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

plotoptions.TimeUnits = 'minutes';
plotoptions.Grid = 'on';
impulseplot(sys,plotoptions);

Figure contains an axes object. The axes object contains an object of type line. This object represents sys.

Можно использовать тот же набор опции, чтобы создать несколько импульсных графиков с той же индивидуальной настройкой. В зависимости от ваших собственных настроек тулбокса график, который вы получаете, может отличаться от этого графика. Только свойства, которые вы устанавливаете явным образом в этом примере TimeUnits и Grid, замените настройки тулбокса.

В данном примере рассмотрите модель в пространстве состояний MIMO с 3 входными параметрами, 3 выходными параметрами и 3 состояниями. Создайте импульсный график с красными линиями сетки.

Создайте модель в пространстве состояний MIMO sys_mimo.

J = [8 -3 -3; -3 8 -3; -3 -3 8];
F = 0.2*eye(3);
A = -J\F;
B = inv(J);
C = eye(3);
D = 0;
sys_mimo = ss(A,B,C,D);
size(sys_mimo)
State-space model with 3 outputs, 3 inputs, and 3 states.

Создайте импульсный график с указателем графика h и используйте getoptions для списка доступных опций.

h = impulseplot(sys_mimo)

Figure contains 9 axes objects. Axes object 1 with title From: In(1) contains an object of type line. This object represents sys\_mimo. Axes object 2 contains an object of type line. This object represents sys\_mimo. Axes object 3 contains an object of type line. This object represents sys\_mimo. Axes object 4 with title From: In(2) contains an object of type line. This object represents sys\_mimo. Axes object 5 contains an object of type line. This object represents sys\_mimo. Axes object 6 contains an object of type line. This object represents sys\_mimo. Axes object 7 with title From: In(3) contains an object of type line. This object represents sys\_mimo. Axes object 8 contains an object of type line. This object represents sys\_mimo. Axes object 9 contains an object of type line. This object represents sys\_mimo.

h =

	resppack.timeplot
p = getoptions(h)
p =

                   Normalize: 'off'
         SettleTimeThreshold: 0.0200
              RiseTimeLimits: [0.1000 0.9000]
                   TimeUnits: 'seconds'
    ConfidenceRegionNumberSD: 1
                  IOGrouping: 'none'
                 InputLabels: [1x1 struct]
                OutputLabels: [1x1 struct]
                InputVisible: {3x1 cell}
               OutputVisible: {3x1 cell}
                       Title: [1x1 struct]
                      XLabel: [1x1 struct]
                      YLabel: [1x1 struct]
                   TickLabel: [1x1 struct]
                        Grid: 'off'
                   GridColor: [0.1500 0.1500 0.1500]
                        XLim: {3x1 cell}
                        YLim: {3x1 cell}
                    XLimMode: {3x1 cell}
                    YLimMode: {3x1 cell}

Используйте setoptions обновить график с требует индивидуальной настройки.

setoptions(h,'Grid','on','GridColor',[1 0 0]);

Figure contains 9 axes objects. Axes object 1 with title From: In(1) contains an object of type line. This object represents sys\_mimo. Axes object 2 contains an object of type line. This object represents sys\_mimo. Axes object 3 contains an object of type line. This object represents sys\_mimo. Axes object 4 with title From: In(2) contains an object of type line. This object represents sys\_mimo. Axes object 5 contains an object of type line. This object represents sys\_mimo. Axes object 6 contains an object of type line. This object represents sys\_mimo. Axes object 7 with title From: In(3) contains an object of type line. This object represents sys\_mimo. Axes object 8 contains an object of type line. This object represents sys\_mimo. Axes object 9 contains an object of type line. This object represents sys\_mimo.

Импульсный график автоматически обновляется, когда вы вызываете setoptions. Для моделей MIMO, impulseplot производит сетку графиков, каждого графика, отображающего импульсную характеристику одной пары ввода-вывода.

Сравните импульсную характеристику параметрической идентифицированной модели к непараметрической (эмпирической) модели и просмотрите их 3-σ области доверия. (Идентифицированные модели требуют программного обеспечения System Identification Toolbox™.)

Идентифицируйте параметрическое и непараметрическую модель от выборочных данных.

load iddata1 z1
sys1 = ssest(z1,4); 
sys2 = impulseest(z1);

Постройте импульсные характеристики обеих идентифицированных моделей. Используйте указатель графика, чтобы отобразить 3-σ области доверия.

t = -1:0.1:5;
h = impulseplot(sys1,'r',sys2,'b',t);
showConfidence(h,3)
legend('parametric','nonparametric')

Figure contains an axes object. The axes object with title From: u1 To: y1 contains 3 objects of type line. These objects represent parametric, nonparametric.

Непараметрическая модель sys2 показывает более высокую неопределенность.

В данном примере исследуйте импульсную характеристику следующей модели нулей, полюсов и усиления и ограничьте импульсный график tFinal = 15 с. Используйте синий текст с 15 точками для заголовка. Этот график должен выглядеть одинаково, независимо от настроек сеанса работы с MATLAB, в котором он сгенерирован.

sys = zpk(-1,[-0.2+3j,-0.2-3j],1)*tf([1 1],[1 0.05]);
tFinal = 15;

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

plotoptions = timeoptions;

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

plotoptions.Title.FontSize = 15;
plotoptions.Title.Color = [0 0 1];

Теперь создайте график импульсной характеристики с помощью набора опций plotoptions.

h = impulseplot(sys,tFinal,plotoptions);

Figure contains an axes object. The axes object contains an object of type line. This object represents sys.

Поскольку 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 модели.

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

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

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

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

y

желтый

m

пурпурный

c

голубой

r

красный

g

зеленый

b

синий

w

белый

k

черный

Итоговое время для расчета импульсной характеристики в виде скаляра. Задайте tFinal в модулях системного времени, заданных в TimeUnit свойство sys. Для систем дискретного времени с незаданным шагом расчета (Ts = -1), impulseplot интерпретирует tFinal как количество интервалов выборки, чтобы симулировать.

Время для симуляции импульсной характеристики в виде вектора. Задайте временной вектор t в модулях системного времени, заданных в TimeUnit свойство sys. Временной вектор должен быть действительным, конечным, и должен содержать монотонно увеличение и равномерно распределенные выборки времени.

Временной вектор t :

  • t = Tinitial:Tsample:Tfinal, для систем дискретного времени.

  • t = Tinitial:dt:Tfinal, для систем непрерывного времени. Здесь, dt является шагом расчета дискретного приближения системы непрерывного времени.

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

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

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

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

свернуть все

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

Представленный в R2012a
Для просмотра документации необходимо авторизоваться на сайте