Main Content

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:

  1. Cree un objeto de temporizador.

    Utilice la función timer para crear un objeto de temporizador.

  2. 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.

  3. Inicie el objeto de temporizador.

    Una vez creado el objeto de temporizador, debe iniciarlo, con la función start o startat.

  4. 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.

Consulte también

Temas relacionados