使用计时器安排命令的执行
概述
MATLAB® 软件包括一个计时器对象,您可以使用该对象安排 MATLAB 命令的执行。本部分介绍如何创建计时器对象,启动计时器运行,以及指定您希望在计时器触发时执行的过程。当计时器对象指定的时间已过且计时器对象执行您指定的命令时,即触发计时器。
要使用计时器,请执行以下步骤:
注意
计时器的指定执行时间和实际执行可能不同,这是因为计时器对象在 MATLAB 单线程执行环境中工作。该滞后时间的长短取决于 MATLAB 正在执行的其他过程。要强制执行事件队列中的回调函数,请在代码中包含对 drawnow
函数的调用。drawnow
函数会刷新事件队列。
示例:显示消息
以下示例设置一个计时器对象,该对象在 10 秒过后执行 MATLAB 命令字符向量。该示例将创建一个计时器对象,指定两个计时器对象属性 TimerFcn
和 StartDelay
的值。TimerFcn
指定计时器回调函数。这是您要在计时器触发时执行的 MATLAB 命令或程序文件。在该示例中,计时器回调函数设置 MATLAB 工作区变量 stat
的值并执行 MATLAB disp
命令。StartDelay
属性指定计时器触发前已用的时间。
创建计时器对象后,该示例使用 start
函数启动计时器对象。(为了展示计时器,该示例中包括了一些其他命令,但这些命令并不是计时器操作必需的。)
t = timer('TimerFcn', 'stat=false; disp(''Timer!'')',... 'StartDelay',10); start(t) stat=true; while(stat==true) disp('.') pause(1) end
当您执行此代码时,会生成以下输出:
. . . . . . . . . Timer! delete(t) % Always delete timer objects after using them.