Среда GUIDE будет удалена в будущем релизе. После того, как GUIDE удален, существующие приложения GUIDE продолжат запускаться в MATLAB®, но они не будут доступны для редактирования в GUIDE.
Чтобы продолжить редактировать существующее приложение GUIDE, см. Стратегии Миграции GUIDE информации о том, как помочь обеспечить совместимость приложения с будущими релизами MATLAB. Чтобы создать новые приложения, используйте App Designer вместо этого.
В этом примере показано, как исследовать и запустить предварительно созданное приложение GUIDE. Отображения приложения объемная поверхностная диаграмма, добавляет случайный шум в поверхность и обновляет график равномерно. Приложение содержит две кнопки: тот, который начинает добавлять случайный шум в график и другой, который прекращает добавлять шум. Ползунок ниже графика позволяет пользователю устанавливать период обновления между 0,01 и 2 секундами.
Открытый и запуск приложение. Переместите ползунок, чтобы установить интервал обновления между 0,01 и 2,0 секундами. Затем нажмите кнопку Start Randomizing, чтобы начать добавлять случайный шум в нанесенную на график функцию. Нажмите кнопку Stop Randomizing, чтобы прекратить добавлять шум и обновлять график.
В GUIDE нажмите кнопку Editor, чтобы просмотреть код.
Около верхней части окна Editor используйте кнопку Go To, чтобы перейти к функциям, обсужденным ниже.
ex_guide_timergui_OpeningFcn
ex_guide_timergui_OpeningFcn
функция выполняется, когда приложение открывает и начинает запускаться. Эта команда создает timer
объект и хранилища это в handles
структура.
handles.timer = timer(... 'ExecutionMode', 'fixedRate', ... % Run timer repeatedly. 'Period', 1, ... % Initial period is 1 sec. 'TimerFcn', {@update_display,hObject}); % Specify callback function.
update_display
, который задан как локальная функция.update_display
update_display
функция выполняется когда заданный timer
период протекает. Функция получает значения в ZData
свойство Surface
возразите и добавляет случайный шум в него. Затем это обновляет график.
handles = guidata(hfigure); Z = get(handles.surf,'ZData'); Z = Z + 0.1*randn(size(Z)); set(handles.surf,'ZData',Z);
periodsldr_Callback
periodsldr_Callback
функция выполняется, когда пользователь перемещает ползунок. Это вычисляет период таймера путем получения значения ползунка и усечения его. Затем это обновляет метку ниже ползунка и обновляет период timer
объект.
% Read the slider value period = get(handles.periodsldr,'Value'); % Truncate the value returned by the slider. period = period - mod(period,.01); % Set slider readout to show its value. set(handles.slidervalue,'String',num2str(period)) % If timer is on, stop it, reset the period, and start it again. if strcmp(get(handles.timer, 'Running'), 'on') stop(handles.timer); set(handles.timer,'Period',period) start(handles.timer) else % If timer is stopped, reset its period. set(handles.timer,'Period',period) end
startbtn_Callback
startbtn_Callback
вызовы функции start
метод timer
возразите, не запускается ли таймер уже.
if strcmp(get(handles.timer, 'Running'), 'off') start(handles.timer); end
stopbtn_Callback
stopbtn_Callback
вызовы функции stop
метод timer
возразите, запускается ли таймер в настоящее время.
if strcmp(get(handles.timer, 'Running'), 'on') stop(handles.timer); end
figure1_CloseRequestFcn
figure1_CloseRequestFcn
коллбэк выполняется, когда пользователь закрывает приложение. Функция останавливает timer
возразите, запускается ли это, удаляет timer
объект, и затем удаляет окно рисунка.
if strcmp(get(handles.timer, 'Running'), 'on') stop(handles.timer); end % Destroy timer delete(handles.timer) % Destroy figure delete(hObject);