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

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

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

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

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

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

Примечание

Этот раздел принимает некоторое очень простое знакомство с MATLAB® графические объекты. Для получения дополнительной информации смотрите Графические объекты.

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

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

    Например,

    h = stepplot(sys)
    

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

    Для получения дополнительной информации о получении указателей графика смотрите Указатели Графика Получения.

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

    p = getoptions(h);
    

    p указатель опций графика для указателя графика h.

    Для получения дополнительной информации о получении указателей опций графика смотрите Указатели Опций Графика Получения.

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

Примечание

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

Измените модули диаграммы Боде из командной строки

В этом примере показано, как изменить модули Диаграммы Боде от rad/s до Гц.

Создайте систему и сгенерируйте Диаграмму Боде ответа системы. График использует модули по умолчанию, rad/s.

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

Figure contains 2 axes objects. Axes object 1 contains an object of type line. This object represents sys. Axes object 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 objects. Axes object 1 contains an object of type line. This object represents sys. Axes object 2 contains an object of type line. This object represents sys.

Метка оси X обновляется, чтобы отразить изменение модуля.

Для большего количества примеров настройки графиков из командной строки смотрите Примеры Настройки Графиков из Командной строки.

Получение указателей графика

Чтобы программно взаимодействовать с графиком отклика, вам нужен указатель графика. Этот указатель является идентификатором к объекту графика отклика. Поскольку команды графического вывода Control System Toolbox, 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;

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

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

p = bodeoptions('cstprefs');

установите пары свойства/значения Диаграммы Боде на значения по умолчанию Control System Toolbox.

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

Функции для создания указателей опций графика

Функция

Тип созданного указателя опций графика

bodeoptions

Предвещайте фазу и величину

hsvoptions

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

nicholsoptions

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

nyquistoptions

Годограф Найквиста

pzoptions

График полюса/нуля

sigmaoptions

Сигма (сингулярные значения) график

timeoptions

Ответ времени (импульс, шаг, и т.д.)

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

Использование

help <responseplot>options

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

help bodeoptions

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

См. Свойства и Ссылка Значений для полного списка пар свойства/значения для графиков отклика.

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

Управление указателями опций графика

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

  • Запись через точку — Обработка указатель как структура MATLAB.

  • Пары значения свойства — пары свойства/значения Specify явным образом как входные параметры к setoptions.

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

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

Изменение модулей графика

Измените единицы частоты Диаграммы Боде от rad/s до Гц. Для этого извлеките опции 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

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

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

Проверьте, что модули изменились от rad/s до Гц.

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

Hz

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

Пары свойства/Значения, Характерные для Всех Графиков отклика

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

Заголовок

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

Описание

Title.String

'none'

Постройте заголовок, такой как '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

Xlabel

Свойство

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

Описание

XLabel.String

'none'

Метка оси 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

YLabel

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

Описание

YLabel.String

'none'

Метка оси 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 является скалярным, скалярное расширение применяется; в противном случае длина массива ячеек должна равняться количеству столбцов (i.e., количество системных входных параметров) для графика.

YLim

{[]}

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

YLimMode

{'auto'}

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

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

Свойство

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

Описание

IOGrouping

'none'

[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

[on | off]

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

OutputVisible

on

[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

'double'

PhaseWrapping

off

[on | off]

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

PhaseWrappingBranch

–180

'double'

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

PhaseMatching

off

[на | прочь]

PhaseMatchingFreq

0

'double'

PhaseMatchingValue

0

'double'

Найквист строит диаграмму

Свойство

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

Описание

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

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