Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.
En este ejemplo se muestra cómo examinar y ejecutar una aplicación GUIDE Precompilando. La aplicación muestra una gráfica de superficie, agrega ruido aleatorio a la superficie y actualiza el trazado a intervalos regulares. La aplicación contiene dos botones: uno que comienza a agregar ruido aleatorio a la trama y otro que deja de agregar ruido. El control deslizante situado debajo de la gráfica permite al usuario establecer el período de actualización entre 0,01 y 2 segundos.
Abra y ejecute la aplicación. Mueva el control deslizante para establecer el intervalo de actualización entre 0,01 y 2,0 segundos. A continuación, haga clic en el botón para empezar a agregar ruido aleatorio a la función trazada.Start Randomizing Haga clic en el botón para detener la adición de ruido y actualizar la gráfica.Stop Randomizing
En GUIDE, haga clic en el botónEditor para ver el código.
Cerca de la parte superior de la ventana del editor, utilice el
Go To
botón para navegar a las funciones que se describen a continuación.
ex_guide_timergui_OpeningFcn
La función se ejecuta cuando la aplicación se abre y comienza a ejecutarse.ex_guide_timergui_OpeningFcn
Este comando crea el objeto y lo almacena en la estructura. La función de devolución de llamada para el temporizador es, que se define como una función local.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
La función se ejecuta cuando transcurre el período especificado.update_display
timer
La función obtiene los valores de la propiedad del objeto y le agrega ruido aleatorio.ZData
Surface
A continuación, actualiza la trama.
handles = guidata(hfigure); Z = get(handles.surf,'ZData'); Z = Z + 0.1*randn(size(Z)); set(handles.surf,'ZData',Z);
periodsldr_Callback
La función se ejecuta cuando el usuario mueve el control deslizante.periodsldr_Callback
Calcula el período del temporizador obteniendo el valor del deslizador y truncando. A continuación, actualiza la etiqueta debajo del control deslizante y actualiza el período del objeto.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
La función llama al método del objeto si el temporizador aún no se está ejecutando.startbtn_Callback
start
timer
if strcmp(get(handles.timer, 'Running'), 'off') start(handles.timer); end
stopbtn_Callback
La función llama al método del objeto si el temporizador se está ejecutando actualmente.stopbtn_Callback
stop
timer
if strcmp(get(handles.timer, 'Running'), 'on') stop(handles.timer); end
figure1_CloseRequestFcn
La devolución de llamada se ejecuta cuando el usuario cierra la aplicación.figure1_CloseRequestFcn
La función detiene el objeto si se está ejecutando, elimina el objeto y, a continuación, elimina la ventana de la figura.timer
timer
if strcmp(get(handles.timer, 'Running'), 'on') stop(handles.timer); end % Destroy timer delete(handles.timer) % Destroy figure delete(hObject);