Можно настроить любой график отклика из командной строки. Командная строка является наиболее эффективным способом настройки большого количества графиков. Например, если у вас есть пакетное задание, которое производит много графиков, можно автоматически изменить модули измерения оси X для всего графика с несколькими строками кода.
Можно использовать интерфейс прикладной программы Control System Toolbox™ (API), чтобы настроить опции графического изображения для графиков отклика из командной строки.
Примечание
Этот раздел принимает некоторые очень основные знакомства с MATLAB® графические объекты. Для получения дополнительной информации см. раздел «Графические объекты».
Чтобы настроить графики из командной строки:
Получите указатель на график, который является идентификатором для графика, используя синтаксис графического изображения API.
Для примера,
h = stepplot(sys)
возвращает указатель на график h
для графика шага.
Для получения дополнительной информации о получении указателей на график см. Раздел «Получение указателей на график».
Получите указатель опций графика, который является идентификатором для всех настраиваемых опций графика. Чтобы получить указатель на опции графика для заданного графика, введите
p = getoptions(h);
p
- указатель на опции графика для указателя на график h
.
Дополнительные сведения о получении указателей опций графика см. в разделе Получение указателей опций графика.
Использовать setoptions
, наряду с указателем на график и указателем на опции графика, для доступа и изменения многих опций графика.
Примечание
Вы также можете использовать setoptions
для настройки графиков с помощью пар свойство/значение вместо указателя на опции графика. Использование пар свойство/значение сокращает процедуру до одной строки кода.
В этом примере показано, как изменить модули диаграммы Боде с рад/с на Гц.
Создайте систему и сгенерируйте Диаграмма Боде отклика системы. График использует модули по умолчанию, рад/с.
sys = tf(4,[1 0.5 4]); h = bodeplot(sys);
The bodeplot
команда возвращает указатель на график, который можно использовать для изменения свойств графика.
Измените модули измерения на Гц.
p = getoptions(h);
p.FreqUnits = 'Hz';
setoptions(h,p)
Метка оси X обновляется, чтобы отразить изменение модуля.
Для получения дополнительных примеров настройки графиков из командной строки см. Примеры настройки графиков из командной строки.
Чтобы программно взаимодействовать с графиком отклика, вам нужен указатель на график. Этот указатель является идентификатором объекта графика отклика. Поскольку команды графического изображения Control System Toolbox, bode
, rlocus
, и т.д., все используют указатель на график внутренне, этот API предоставляет набор команд, которые явным образом возвращают указатель на ваш график отклика. Все эти функции заканчиваются «графиком», что облегчает их идентификацию. В этой таблице перечислены функции.
Функции, которые возвращают указатель на график
Функция |
График |
---|---|
Bode величины и фаза | |
Сингулярные значения Ханкеля | |
Импульсная характеристика | |
Начальное условие | |
Карты полюс/ноль для пар вход/выход | |
Временная характеристика на произвольные входы | |
График Николса | |
Найквист | |
Полюс/ноль | |
Корневой годограф | |
Сингулярные значения частотной характеристики | |
Переходная характеристика |
Чтобы получить указатель на график для любого графика отклика, используйте функции из таблицы. Для примера,
h = bodeplot(sys)
возвращает указатель на график h
(он также отображает диаграмму Боде). Если у вас есть этот указатель, можно изменить свойства графика, используя setoptions
и getoptions
методы объекта график, в этом случае указатель диаграмма Боде.
Если у вас есть указатель на график, вам нужен указатель на опции графика, который является идентификатором для всех настраиваемых свойств графика для данного графика отклика. Существует два способа создать указатель на опции графика:
Получение указателя - использование getoptions
чтобы достать указатель.
Создание указателя - Использование <responseplot>
options
для создания экземпляра указателя. Полный список функций см. в разделе «Создание указателей опций графика».
The 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.
В этой таблице перечислены функции, которые создают указатель на опции графика.
Функции для создания указателей опций графика
Функция |
Тип созданного указателя опций графика |
---|---|
|
Величина Bode |
|
Сингулярные значения Ханкеля |
|
График Николса |
|
Годограф Найквиста |
|
График полюса/ноль |
|
График Сигмы (сингулярные значения) |
|
Временная характеристика (импульс, шаг и т.д.) |
Использовать
help <responseplot>options
чтобы просмотреть список доступных пар значений свойств, которые можно изменить. Для примера,
help bodeoptions
Можно изменить любой из этих параметров, используя setoptions
. В следующей теме приведены примеры изменения различных графиков отклика.
Полный список пар «свойства/значение» см. в ссылке «Свойства и значения» для графиков отклика.
Существует два основных способа манипулирования указателями на опции графика:
Запись через точку - обрабатывайте указатель как структуру 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
В следующих таблицах обсуждаются пары свойство/значение, общие для всех графиков отклика.
Заголовок
Свойство | Значение по умолчанию |
Описание |
---|---|---|
|
ничего |
Заголовок графика, например |
|
8 |
|
|
нормальный |
|
|
нормальный |
|
|
[0 0 0] |
|
Метка X
Свойство |
Значение по умолчанию |
Описание |
---|---|---|
|
ничего |
Метка оси X, такая как |
|
8 |
|
|
нормальный |
|
|
нормальный |
|
|
[0 0 0] |
|
Метка Y
Свойство | Значение по умолчанию |
Описание |
---|---|---|
|
ничего |
Метка оси Y, например |
|
8 |
|
|
нормальный |
|
|
нормальный |
|
|
[0 0 0] |
|
Такт
Свойство |
Значение по умолчанию |
Описание |
---|---|---|
|
8 |
|
|
нормальный |
|
|
нормальный |
|
|
[0 0 0] |
|
Сетка и Пределы по осям
Свойство |
Значение по умолчанию |
Описание |
---|---|---|
|
|
|
|
|
Массив ячеек 1 на 2 удваивается, что задает пределы оси X при |
|
|
Массив ячеек, где каждая запись либо |
|
|
Массив ячеек с двойным числом 1 на 2 задает пределы оси Y при |
|
|
Массив ячеек, где каждая запись либо |
Группировка ввода-вывода
Свойство |
Значение по умолчанию |
Описание |
---|---|---|
|
ничего |
Задает входные/выходные группы для ответов. |
Входные метки
Свойство |
Значение по умолчанию |
Описание |
---|---|---|
|
8 |
|
|
нормальный |
|
|
нормальный |
|
|
[0 0 0] |
|
Выходные метки
Свойство |
Значение по умолчанию |
Описание |
---|---|---|
|
8 |
|
|
нормальный |
|
|
нормальный |
|
|
[0 0 0] |
|
Вход/выход виден
Свойство |
Значение по умолчанию |
Описание |
---|---|---|
|
{on} |
Массив ячеек, который задает видимость каждого входного канала. Если значение скаляром, применяется скалярное расширение. |
|
{on} |
Массив ячеек, который задает видимость каждого выходного канала. Если значение скаляром, применяется скалярное расширение. |
Свойство |
Значение по умолчанию |
Описание |
---|---|---|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Когда вы задаете |
|
–180 |
Значение фазы, при котором график оборачивает накопленную фазу, когда |
|
|
|
|
|
|
|
|
Включает ручную спецификацию нижнего предела величины по |
|
0 |
Задает нижний предел величины, когда |
|
|
Включает настройку эффектов фазы для фазового отклика. |
|
0 |
|
|
0 |
|
Свойство |
Значение по умолчанию |
Описание |
---|---|---|
|
|
|
|
|
Посмотрите |
|
|
Посмотрите |
|
|
Посмотрите |
Свойство |
Значение по умолчанию |
Описание |
---|---|---|
|
| |
|
|
|
|
|
|
|
|
|
|
|
дважды |
|
|
Когда вы задаете |
|
–180 |
дважды Значение фазы, при котором график оборачивает накопленную фазу, когда |
|
прочь |
[вкл. | выкл.] |
|
0 |
дважды |
|
0 |
дважды |
Свойство |
Значение по умолчанию |
Описание |
---|---|---|
|
| |
|
|
|
|
|
|
|
|
|
Свойство |
Значение по умолчанию |
Описание |
---|---|---|
|
| |
TimeUnits | seconds |
Свойство |
Значение по умолчанию |
Описание |
---|---|---|
|
| |
|
|
|
|
|
|
|
|
|
Свойство |
Значение по умолчанию |
Описание |
---|---|---|
|
|
Нормализуйте шкалу Y всех откликов на графике. |
|
|
Задает пороговое время урегулирования. |
|
|
Задает пределы, используемые для определения времени нарастания. |
| seconds
|