exponenta event banner

Настройка графиков ответа из командной строки

Обзор графиков пользовательской настройки из командной строки

Когда настраивать графики из командной строки

Любой график ответа можно настроить из командной строки. Командная строка является наиболее эффективным способом настройки большого количества графиков. Например, если имеется пакетное задание, которое создает множество графиков, можно автоматически изменить единицы измерения оси X для всего графика с помощью нескольких строк кода.

Настройка графиков из командной строки

Интерфейс прикладной программы (API) Control System Toolbox™ можно использовать для настройки параметров печати для графиков ответов из командной строки.

Примечание

В этом разделе предполагается, что с графическими объектами MATLAB ® хорошо знакомы. Дополнительные сведения см. в разделе Графические объекты.

Для настройки графиков из командной строки:

  1. Получите дескриптор графика, который является идентификатором графика, с помощью синтаксиса печати API.

    Например,

    h = stepplot(sys)
    

    возвращает дескриптор графика h для пошагового графика.

    Дополнительные сведения о получении дескрипторов печати см. в разделе Получение дескрипторов печати.

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

    p = getoptions(h);
    

    p - дескриптор опций печати для дескриптора печати h.

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

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

Примечание

Также можно использовать setoptions для настройки графиков с использованием пар свойство/значение вместо маркера параметров печати. Использование пар свойство/значение сокращает процедуру до одной строки кода.

Изменение единиц печати мода из командной строки

В этом примере показано, как изменить единицы графика Боде с рад/с на Гц.

Создайте систему и создайте график модели реакции системы. На графике используются единицы измерения по умолчанию «рад/с».

sys = tf(4,[1 0.5 4]);
h = bodeplot(sys);

Figure contains 2 axes. Axes 1 contains an object of type line. This object represents sys. Axes 2 contains an object of type line. This object represents sys.

bodeplot возвращает дескриптор графика, который можно использовать для изменения свойств графика.

Измените единицы измерения на Гц.

p = getoptions(h);
p.FreqUnits = 'Hz';
setoptions(h,p)

Figure contains 2 axes. Axes 1 contains an object of type line. This object represents sys. Axes 2 contains an object of type line. This object represents sys.

Метка оси X обновляется для отражения изменения единицы измерения.

Дополнительные примеры настройки графиков из командной строки см. в разделе Примеры настройки графиков из командной строки.

Получение дескрипторов графика

Для программного взаимодействия с графиком ответа необходим дескриптор графика. Этот дескриптор является идентификатором объекта графика ответа. Поскольку команды печати панели инструментов системы управления bode, rlocusи т.д., все используют дескриптор графика внутри, этот API предоставляет набор команд, которые явно возвращают дескриптор на график ответа. Все эти функции заканчиваются «графиком», что облегчает их идентификацию. В этой таблице перечислены функции.

Функции, возвращающие дескриптор графика

Функция

График

bodeplot

Величина и фаза мода

hsvplot

Сингулярные значения Ганкеля

impulseplot

Импульсная характеристика

initialplot

Исходное состояние

iopzplot

Карты полюсов/нулей для пар вход/выход

lsimplot

Реакция времени на произвольные входы

nicholsplot

Диаграмма Николса

nyquistplot

Найквист

pzplot

Полюс/ноль

rlocusplot

Корневой локус

sigmaplot

Сингулярные значения частотной характеристики

stepplot

Ответ на шаг

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

h = bodeplot(sys)

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

Получение дескрипторов параметров печати

Обзор дескрипторов опций печати

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

Получение дескриптора

getoptions функция извлекает дескриптор опций печати из дескриптора печати.

p=getoptions(h) % Returns plot options handle p for plot handle h.

Если в качестве входного аргумента указано имя свойства, getoptions возвращает значение свойства, связанное с именем свойства.

property_value=getoptions(h,PropertyName) % Returns a property 
                                          % value.

Создание дескриптора

Можно создать дескриптор опций печати по умолчанию, используя функции в виде

<responseplot>options

Например,

p=bodeoptions;

создает экземпляр дескриптора для графиков Боде. Список значений по умолчанию см. в разделе Ссылки на свойства и значения.

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

p = bodeoptions('cstprefs');

задайте для пар свойства/значения Bode plot значения по умолчанию для панели инструментов системы управления.

В этой таблице перечислены функции, создающие дескриптор опций печати.

Функции для создания дескрипторов параметров печати

Функция

Тип созданного дескриптора параметров печати

bodeoptions

Фаза и величина Боде

hsvoptions

Сингулярные значения Ганкеля

nicholsoptions

Участок Николса

nyquistoptions

Найквистский участок

pzoptions

Полюсный/нулевой график

sigmaoptions

Сигма (значения в единственном числе)

timeoptions

Временная характеристика (импульс, шаг и т.д.)

Какие свойства можно изменить?

Использовать

help <responseplot>options

для просмотра списка доступных пар значений свойств, которые можно изменить. Например,

help bodeoptions

Любой из этих параметров можно изменить с помощью setoptions. В следующем разделе приведены примеры изменения различных графиков ответов.

Полный список пар свойства/значение для графиков ответов см. в разделе Свойства и значения (Properties and Values Reference).

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

Манипулирование дескрипторами опций печати

Существует два основных способа манипулирования дескрипторами опций печати:

  • Точечная нотация - обрабатывайте дескриптор как структуру MATLAB.

  • Пары значений свойств - явно указать пары свойств/значений в качестве входных аргументов для setoptions.

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

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

Изменение единиц печати

Измените единицы измерения частоты графика Боде с рад/с на Гц. Для этого извлеките опции p с помощью маркера печати отредактируйте параметры и назначьте их обратно для печати.

h = bodeplot(sys);
p = getoptions(h); 
p.FreqUnits = 'Hz'; 
setoptions(h,p)

Альтернативно, вместо извлечения p, задайте опции h непосредственно.

setoptions(h,'FreqUnits','Hz')

Создание графиков с использованием существующего дескриптора параметров печати

Для настройки второго графика можно использовать существующий дескриптор опций печати:

h1 = bodeplot(sys);
p1 = getoptions(h1);
h2 = bodeplot(sys,p1);

или

h1 = bodeplot(sys);
h2 = bodeplot(sys2);
setoptions(h2,getoptions(h1))

Создание дескриптора параметров печати по умолчанию

Создайте экземпляр дескриптора параметров печати с этим кодом.

p = bodeoptions;

Измените единицы измерения частоты и примените изменения к sys.

p.FreqUnits ='Hz';
h = bodeplot(sys,p);

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

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

h1 = bodeplot(sys);
p1 = getoptions(h1);
p1.FreqUnits = 'Hz';
p1.Title.String  =  'My Title';
setoptions(h1,p1)

Задание пар свойств в параметрах настройки

Вместо использования точечной нотации укажите единицы измерения частоты как пары свойство/значение в setoptions.

h1 = bodeplot(sys)
setoptions(h1,'FreqUnits','Hz')

Убедитесь, что единицы измерения изменились с рад/с на Гц.

getoptions(h1,'FreqUnits') % Returns frequency units for h1.
ans =

Hz

Ссылка на свойства и значения

Пары свойства/значения, общие для всех графиков ответа

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

Название

СобственностьЗначение по умолчанию

Описание

Title.String

ничего

Заголовок графика, например 'My Response Plot'.

Title.FontSize

8

Double

Title.FontWeight

нормальный

[light | normal | demi]

Title.FontAngle

нормальный

[normal | italic | oblique]

Title.Color

[0 0 0]

1-by-3 RGB vector

Метка X

Собственность

Значение по умолчанию

Описание

XLabel.String

ничего

Метка оси X, например 'Input Frequency'.

Xlabel.FontSize

8

Double

Xlabel.FontWeight

нормальный

[light | normal | demi]

XLabel.FontAngle

нормальный

[normal | italic | oblique]

Xlabel.Color

[0 0 0]

1-by-3 RGB vector

Метка Y

СобственностьЗначение по умолчанию

Описание

YLabel.String

ничего

Метка оси Y, например 'Control Signal Magnitude'.

Ylabel.FontSize

8

Double

Ylabel.FontWeight

нормальный

[light | normal | demi]

YLabel.FontAngle

нормальный

[normal | italic | oblique]

Ylabel.Color

[0 0 0]

1-by-3 RGB vector

Метка засечки

Собственность

Значение по умолчанию

Описание

TickLabel.FontSize

8

Double

TickLabel.FontWeight

нормальный

[light | normal | demi]

TickLabel.FontAngle

нормальный

[normal | italic | oblique]

Ticklabel.Color

[0 0 0]

1-by-3 RGB vector

Пределы сетки и оси

Собственность

Значение по умолчанию

Описание

grid

off

[on | off]

Xlim

{[]}

Массив ячеек, состоящий из 1 на 2, который задает пределы по оси X, когда XLimMode установлен в ручной режим. Когда XLim скалярно, применяется скалярное расширение; в противном случае длина массива ячеек должна равняться количеству столбцов (т.е. количеству системных входов) для графика. Двойники 1 на 2 должны быть строго увеличивающейся парой [xmin, xmax].

XLimMode

{'auto'}

Массив ячеек, в котором каждая запись 'auto' или 'manual'. Эти записи определяют режим пределов оси X для соответствующей оси. Когда XLimMode установлен в ручной режим, предельные значения устанавливаются в соответствии со значениями, указанными в XLim. Когда XLim скалярно, применяется скалярное расширение; в противном случае длина массива ячеек должна равняться количеству столбцов (т.е. количеству системных входов) для графика.

YLim

{[]}

Массив ячеек с удвоением 1 на 2 задает пределы по оси Y, когда YLimMode установлен в ручной режим. Когда YLim скалярно, применяется скалярное расширение; в противном случае длина массива ячеек должна равняться количеству строк (т.е. количеству системных выходов) для графика. Двойники 1 на 2 должны быть строго увеличивающейся парой [ymin, ymax].

YLimMode

{'auto'}

Массив ячеек, в котором каждая запись 'auto' или 'manual'. Эти записи определяют режим пределов по оси Y для соответствующей оси. Когда YLimMode установлен в ручной режим, предельные значения устанавливаются в соответствии со значениями, указанными в YLim. Когда YLim скалярно, применяется скалярное расширение; в противном случае длина массива ячеек должна равняться количеству строк (т.е. количеству системных выходов) для графика.

Группировка ввода-вывода

Собственность

Значение по умолчанию

Описание

IOGrouping

ничего

[none | inputs | outputs | all]

Задает группы ввода/вывода для ответов.

Входные метки

Собственность

Значение по умолчанию

Описание

InputLabels.FontSize

8

Double

InputLabels.FontWeight

нормальный

[light | normal | demi]

InputLabels.FontAngle

нормальный

[normal | italic | oblique]

InputLabels.Color

[0 0 0]

1-by-3 RGB vector

Выходные метки

Собственность

Значение по умолчанию

Описание

OutputLabel.FontSize

8

Double

OutputLabels.FontWeight

нормальный

[light | normal | demi]

OutputLabels.FontAngle

нормальный

[normal | italic | oblique]

OutputLabels.Color

[0 0 0]

1-by-3 RGB vector

Видимый ввод/вывод

Собственность

Значение по умолчанию

Описание

InputVisible

{на}

[on | off]

Массив ячеек, определяющий видимость каждого входного канала. Если значение является скалярным, применяется скалярное расширение.

OutputVisible

{на}

[on | off]

Массив ячеек, определяющий видимость каждого выходного канала. Если значение является скалярным, применяется скалярное расширение.

Графики Моде

Собственность

Значение по умолчанию

Описание

FreqUnits

rad/s

 Доступные параметры

FreqScale

log

[linear | log]

MagUnits

dB

[db | abs]

MagScale

linear

[linear | log]

PhaseUnits

deg

[rad | deg]

PhaseWrapping

off

[on | off]

При установке PhaseWrapping кому 'on', график переносит накопленную фазу на значение, заданное PhaseWrappingBranch собственность.

PhaseWrappingBranch

–180

Double

Значение фазы, при котором график переносит накопленную фазу, когда PhaseWrapping имеет значение 'on'

MagVisible

on

[on | off]

PhaseVisible

on

[on | off]

MagLowerLimMode

auto

[auto | manual]

Включает ручную спецификацию нижнего предела величины на MagLowerLim.

MagLowerLim

0

Double

Задает нижний предел величины, когда MagLowerLimMode имеет значение manual.

PhaseMatching

off

[on | off]

Позволяет регулировать фазовые эффекты для фазовой реакции.

PhaseMatchingFreq

0

Double

PhaseMatchingValue

0

Double

Сингулярные значения Ханкеля

Собственность

Значение по умолчанию

Описание

Yscale

linear

[linear | log]

AbsTol

0

Double

Посмотрите hsvd и stabsep для получения подробной информации.

RelTol

1*e-08

Double

Посмотрите hsvd и stabsep для получения подробной информации.

Offset

1*e-08

Double

Посмотрите hsvd и stabsep для получения подробной информации.

Графики Николса

Собственность

Значение по умолчанию

Описание

FreqUnits

rad/s

 Доступные параметры

MagUnits

dB

[dB | abs]

PhaseUnits

deg

[rad | deg]

MagLowerLimMode

auto

[auto | manual]

MagLowerLim

0

дважды

PhaseWrapping

off

[on | off]

При установке PhaseWrapping кому 'on', график переносит накопленную фазу на значение, заданное PhaseWrappingBranch собственность.

PhaseWrappingBranch

–180

дважды

Значение фазы, при котором график переносит накопленную фазу, когда PhaseWrapping имеет значение 'on'

PhaseMatching

прочь

[вкл. | выкл.]

PhaseMatchingFreq

0

дважды

PhaseMatchingValue

0

дважды

Диаграммы Найквиста

Собственность

Значение по умолчанию

Описание

FreqUnits

rad/s

 Доступные параметры

MagUnits

dB

[dB | abs]

PhaseUnits

deg

[rad | deg]

ShowFullContour

on

[on | off]

Карты полюсов/нулей

Собственность

Значение по умолчанию

Описание

FreqUnits

rad/s

 Доступные параметры

TimeUnitsseconds

 Доступные параметры

Графики Сигма

Собственность

Значение по умолчанию

Описание

FreqUnits

rad/s

 Доступные параметры

FreqScale

log

[linear | log]

MagUnits

dB

[dB | abs]

MagScale

linear

[linear | log]

Графики ответа по времени

Собственность

Значение по умолчанию

Описание

Normalize

off

[on | off]

Нормализуйте масштаб y всех ответов на графике.

SettleTimeThreshold

0.02

Double

Определяет порог времени установки. 0.02 = 2%.

RiseTimeLimits

[0.1, 0.9]

1-by-2 double

Пределы, используемые для определения времени подъема. [0.1, 0.9] составляет от 10% до 90%.

TimeUnits

seconds

 Доступные параметры