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

В этом примере показов, как создать графический интерфейс пользователя для отображения Control System Toolbox™ графика отклика, которая изменяется в ответ на интерактивный вход.

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

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

zeta = .5;                           % Damping Ratio
wn = 2;                              % Natural Frequency
sys = tf(wn^2,[1,2*zeta*wn,wn^2]); 

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

f = figure;
ax = axes('Parent',f,'position',[0.13 0.39  0.77 0.54]);
h = stepplot(ax,sys);
setoptions(h,'XLim',[0,10],'YLim',[0,2]);

Добавить текст метки ползунка и ползунка на рисунок.

b = uicontrol('Parent',f,'Style','slider','Position',[81,54,419,23],...
              'value',zeta, 'min',0, 'max',1);
bgcolor = f.Color;
bl1 = uicontrol('Parent',f,'Style','text','Position',[50,54,23,23],...
                'String','0','BackgroundColor',bgcolor);
bl2 = uicontrol('Parent',f,'Style','text','Position',[500,54,23,23],...
                'String','1','BackgroundColor',bgcolor);
bl3 = uicontrol('Parent',f,'Style','text','Position',[240,25,100,23],...
                'String','Damping Ratio','BackgroundColor',bgcolor);

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

b.Callback = @(es,ed) updateSystem(h,tf(wn^2,[1,2*(es.Value)*wn,wn^2])); 

Этот код устанавливает коллбэк для ползунка (идентифицируется как b) анонимной функции. Входные параметры к этой анонимной функции, es и ed, автоматически передаются в коллбэк при использовании ползунка. es является указателем на uicontrol который представляет ползунок, и ed - структура данных о событиях, которую ползунок автоматически передает коллбэку. Вам не нужно задавать эти переменные в рабочей области или устанавливать их значения. (Для получения дополнительной информации о коллбэках пользовательского интерфейса см. определение коллбэка».)

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

Теперь, когда вы установили коллбэк, переместите ползунок. Отображаемая переходная характеристика изменяется должным образом.

См. также

|

Похожие темы