Programar la ejecución de comandos usando el temporizador
Visión general
El software de MATLAB® incluye un objeto de temporizador que puede usar para programar la ejecución de comandos de MATLAB. En esta sección se describe cómo puede crear objetos de temporizador, iniciar una ejecución del temporizador y especificar los procesos que desee que se realicen cuando se dispare un temporizador. Se dice que se dispara un temporizador cuando transcurre el tiempo especificado por el objeto de temporizador y este ejecuta los comandos que se especifican.
Para utilizar un temporizador, siga estos pasos:
Cree un objeto de temporizador.
Utilice la función
timer
para crear un objeto de temporizador.Especifique qué comandos de MATLAB quiere que se ejecuten cuando se dispare el temporizador y controle otros aspectos del comportamiento del objeto de temporizador.
Utilice las propiedades del objeto de temporizador para especificar esta información. Para obtener información sobre todas las propiedades compatibles con el objeto de temporizador, consulte
timer
. También puede establecer las propiedades del objeto de temporizador al crearlas, en el paso 1.Inicie el objeto de temporizador.
Una vez creado el objeto de temporizador, debe iniciarlo, con la función
start
ostartat
.Elimine el objeto de temporizador cuando haya terminado de usarlo.
Una vez que haya terminado de usar un objeto de temporizador, debe eliminarlo de la memoria. Para obtener más información, consulte
delete
.
Nota
El tiempo de ejecución especificado y la ejecución real de un temporizador pueden variar, porque los objetos de temporizador funcionan en el entorno de ejecución de un solo proceso de MATLAB. La longitud de este retardo depende de qué otros procesos está llevando a cabo MATLAB. Para forzar la ejecución de las funciones de callback en la cola de eventos, incluya una llamada a la función drawnow
en el código. La función drawnow
vacía la cola de eventos.
Ejemplo: Mostrar un mensaje
En el siguiente ejemplo se configura un objeto de temporizador que ejecuta un vector de caracteres de un comando de MATLAB cuando transcurren 10 segundos. En el ejemplo se crea un objeto de temporizador, especificando los valores de dos propiedades del objeto de temporizador, TimerFcn
y StartDelay
. TimerFcn
especifica la función de callback del temporizador. Este es el comando o archivo de programa de MATLAB que quiere ejecutar cuando se dispare el temporizador. En el ejemplo, la función de callback del temporizador establece el valor de la variable stat
del área de trabajo de MATLAB y ejecuta el comando disp
de MATLAB. La propiedad StartDelay
especifica cuánto tiempo transcurre antes de que se dispare el temporizador.
Después de crear el objeto de temporizador, en el ejemplo se utiliza la función start
para iniciar el objeto de temporizador (se incluyen comandos adicionales en este ejemplo para ilustrar el temporizador, pero no son obligatorios para su funcionamiento).
t = timer('TimerFcn', 'stat=false; disp(''Timer!'')',... 'StartDelay',10); start(t) stat=true; while(stat==true) disp('.') pause(1) end
Cuando ejecuta este código, produce esta salida:
. . . . . . . . . Timer! delete(t) % Always delete timer objects after using them.