主要内容

timerfindall

找到所有定时器对象

描述

例子

= timerfindall发现现有定时器对象在内存中,不管能见度,并返回一个数组,。使用ObjectVisibility属性来设置对象的可见性。

例子

= timerfindall (名称,值)发现现有定时器对象在内存中,不管能见度,与那些通过属性值匹配名称,值参数并返回一个数组,价值可以是一个空数组。在这种情况下,timerfindall发现计时器为属性指定空值的名字

例子

= timerfindall (t,名称,值)匹配名称,值定时器对象中列出的参数t,在那里t可以一个定时器对象数组,返回一个数组

= timerfindall (年代)在该结构中定义匹配属性值年代并返回一个数组,。的字段名年代定时器对象属性名。字段值对应的属性值。

例子

全部展开

使用timerfindall函数来阻止多个计时器同时即使定时器变量已经从工作区中删除。

创建两个定时器对象生成100个随机数和执行1000000次。定义一个StopFcn显示消息的回调计时器已经停止。”年代tart the timers and verify that the timer is running

t1 =计时器(“TimerFcn”,”兰德(100 1),“,“ExecutionMode”,“fixedSpacing”,“TasksToExecute”1 e6,“StopFcn”,“disp (“Timer1停止了。”));t2 =计时器(“TimerFcn”,”兰德(100 1),“,“ExecutionMode”,“fixedSpacing”,“TasksToExecute”1 e6,“StopFcn”,“disp (“Timer2停止了。”));开始([t1 t2])

清除定时器变量从工作区。

清晰的

使用timerfindall手动停止定时器和确认他们不再运行。

停止(timerfindall) t1.Running
ans = '了'
t2.Running
ans = '了'

删除定时器。

删除(timerfindall)

创建四个定时器对象。

t1 =计时器(“TimerFcn”@ (~ ~)disp (“定时器1发射!”));t2 =计时器(“TimerFcn”@ (~ ~)disp (“定时器2发射!”));t3 =计时器(“TimerFcn”@ (~ ~)disp (“定时器3了!”));t4 =计时器(“TimerFcn”@ (~ ~)disp (“计时器4发射!”));

设置定时器t2t4是看不见的。

t2。ObjectVisibility =“关闭”;t4。ObjectVisibility =“关闭”;

清晰的计时器t1t2从工作空间。

清晰的t1t2
类属性名称大小字节t3 1 x1 104定时器t4 1 x1 104定时器

在内存中找到所有可见计时器。

timerfind
定时器对象数组索引:ExecutionMode:时间:TimerFcn:名称:1 singleShot 1 1 x1 function_handle arraytimer-1 2 singleShot 1 1 x1 function_handle arraytimer-3

timerfind发现只有计时器t1t2因为它们是可见的。计时器t2在内存中仍然是有效的,尽管它从工作区中被清除吗

在内存中找到所有计时器。

timerfindall
定时器对象数组索引:ExecutionMode:时间:TimerFcn:名称:1 singleShot 1 1 x1 function_handle arraytimer-1 2 singleShot 1 1 x1 function_handle arraytimer-2 3 singleShot 1 1 x1 function_handle arraytimer-3 4 singleShot 1 1 x1 function_handle arraytimer-4

timerfindall发现所有四个计时器在内存中即使有效t2t4是看不见的,t1t2从工作区中清除。

从内存中删除所有计时器。

删除(timerfindall)

创建四个定时器对象。

t1 =计时器(“TimerFcn”@ (~ ~)disp (“定时器1发射!”));t2 =计时器(“TimerFcn”@ (~ ~)disp (“定时器2发射!”));t3 =计时器(“TimerFcn”@ (~ ~)disp (“定时器3了!”));t4 =计时器(“TimerFcn”@ (~ ~)disp (“计时器4发射!”));

设置定时器t2t4是看不见的。清晰的计时器t1t2从工作空间。

t2。ObjectVisibility =“关闭”;t4。ObjectVisibility =“关闭”;清晰的t1t2;谁
类属性名称大小字节t3 1 x1 104定时器t4 1 x1 104定时器

找到所有有效的无形的计时器。

= timerfindall (“ObjectVisibility”,“关闭”)
定时器对象数组索引:ExecutionMode:时间:TimerFcn:名称:1 singleShot 1 1 x1 function_handle arraytimer-2 2 singleShot 1 1 x1 function_handle arraytimer-4

有效的无形的计时器都发现了timerfindall在工作区中,不管他们。

创建几个个人定时器和一个计时器数组。

t1 =计时器(“标签”,“broadcastProgress”,“用户数据”,“周一”);t2 =计时器(“标签”,“displayProgress”,“用户数据”,“周一”);timerArr =[计时器(“标签”,“broadcastProgress”,“用户数据”,“星期二”);计时器(“标签”,“displayProgress”,“用户数据”,“星期二”);计时器(“标签”,“displayProgress”,“用户数据”,“星期三”);];

使定时器t1timerArr (2)看不见的。

t1。ObjectVisibility =“关闭”;timerArr (2)。ObjectVisibility =“关闭”;

在内存中找到所有计时器使用timerfind

着干活= timerfind
定时器对象数组索引:ExecutionMode:时间:TimerFcn:名称:1 singleShot 1“timer-2 2 singleShot 1”timer-3 timer-5 3 singleShot 1”

timerfind没有找到隐藏的计时器。

在内存中找到所有计时器使用timerfindall

out2 = timerfindall
定时器对象数组索引:ExecutionMode:时间:TimerFcn:名称:1 singleShot 1“timer-1 2 singleShot 1”timer-2 3 singleShot 1“timer-3 4 singleShot 1”timer-4 timer-5 5 singleShot 1”

timerfindall发现所有计时器,甚至看不见的。

在内存中只找到这些计时器的值“displayProgress”随着标签财产。

out3 = timerfindall (“标签”,“displayProgress”)
定时器对象数组索引:ExecutionMode:时间:TimerFcn:名称:1 singleShot 1“timer-2 2 singleShot 1”timer-4 timer-5 3 singleShot 1”

限制搜索计时器的值“displayProgress”随着标签房地产定时器对象timerArr

out4 = timerfindall (timerArr,“标签”,“displayProgress”)
定时器对象数组索引:ExecutionMode:时间:TimerFcn:名称:1 singleShot timer-5“timer-4 2 singleShot 1”

定义一个结构体包含标签用户数据感兴趣的属性。

searchStruct =结构(“标签”,“broadcastProgress”,“用户数据”,“周一”)
searchStruct =标记:“broadcastProgress”用户数据:“周一”

使用结构体作为搜索条件找到定时器对象在内存中。

out5 = timerfindall (searchStruct)
定时器对象:timer-1定时器设置ExecutionMode: singleShot时期:1 BusyMode:跑步下降:从回调TimerFcn:“ErrorFcn:”StartFcn:“StopFcn:“

删除定时器对象。

删除(timerfindall)

输入参数

全部展开

定时器,定时器对象指定为一个计时器对象或数组

例子:= timerfindall (t)

计时器被发现的性质,指定为一个字段名称的结构对应于计时器属性名。字段值对应的属性值。

例子:= timerfindall(年代)

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:= timerfind (“BusyMode”、“下降”)

回调函数属性

全部展开

定时器回调函数,指定为一个特征向量,字符串标量函数处理,或细胞数组。您必须定义这个属性才能启动计时器。强制执行回调函数的事件队列,包含一个调用drawnow代码中的函数。的drawnow函数刷新事件队列。

  • 如果指定这个属性通过使用一个函数处理,当MATLAB®执行回调,它通过了计时器对象和事件回调函数。事件结构包含事件的类型类型字段和事件的时间数据字段。

  • 如果您指定此属性通过使用一个特征向量或字符串标量,MATLAB执行回调时,对MATLAB代码中包含的特征向量。定义一个回调不推荐作为特征向量。使用一个函数指定为函数处理使MATLAB提供重要的信息给你的回调函数。

  • 如果你的回调函数除了接受参数计时器对象和事件数据,这个属性指定为包含函数的单元阵列处理和额外的参数。

有关更多信息,请参见定时器回调函数

例子:t =计时器(“TimerFcn”,“MyTimerFunction(输入);”)

计时器开始回调函数,指定为一个特征向量,字符串标量函数处理,或细胞数组。

  • 如果指定这个属性通过使用一个函数处理,当MATLAB执行回调,它通过了计时器对象和事件回调函数。事件结构包含事件的类型类型字段和事件的时间数据字段。

  • 如果您指定此属性通过使用一个特征向量或字符串标量,MATLAB执行回调时,对MATLAB代码中包含的特征向量。定义一个回调不推荐作为特征向量。使用一个函数指定为函数处理使MATLAB提供重要的信息给你的回调函数。

  • 如果你的回调函数除了接受参数计时器对象和事件数据,这个属性指定为包含函数的单元阵列处理和额外的参数。

有关更多信息,请参见定时器回调函数

例子:t =计时器(StartFcn, @MyStartFunction (~ ~))

计时器停止回调函数,指定为一个特征向量,字符串标量函数处理,或细胞数组。

  • 如果指定这个属性通过使用一个函数处理,当MATLAB执行回调,它通过了计时器对象和事件回调函数。事件结构包含事件的类型类型字段和事件的时间数据字段。

  • 如果您指定此属性通过使用一个特征向量或字符串标量,MATLAB执行回调时,对MATLAB代码中包含的特征向量。定义一个回调不推荐作为特征向量。使用一个函数指定为函数处理使MATLAB提供重要的信息给你的回调函数。

  • 如果你的回调函数除了接受参数计时器对象和事件数据,这个属性指定为包含函数的单元阵列处理和额外的参数。

有关更多信息,请参见定时器回调函数

计时器停止时:

  • 你叫计时器停止方法。

  • 定时器执行完毕TimerFcn。换句话说,的价值TasksExecuted达到设定的限制TasksToExecute

  • 出现一个错误。的ErrorFcn回调被称为第一,紧随其后的是StopFcn回调。

您可以使用StopFcn定义清理操作,如删除定时器对象从内存中。

例子:t =计时器(StopFcn, @MyStopFunction (~ ~))

计时器错误回调函数,指定为一个特征向量,字符串标量函数处理,或细胞数组。如果有一个错误,执行这个函数,然后调用StopFcn

  • 如果你使用一个特征向量指定这个属性或字符串标量,MATLAB执行回调时评估的MATLAB代码中包含特征向量。

  • 如果你使用一个函数处理指定该属性,当MATLAB执行回调传递计时器对象和事件回调函数。事件结构包含事件的类型类型字段和事件的时间数据字段。

  • 如果你的回调函数除了接受参数计时器对象和事件数据,这个属性指定为包含函数的单元阵列处理和额外的参数。

有关更多信息,请参见定时器回调函数

例子:t =计时器(“ErrorFcn”、“disp(“一个错误已经发生”)')

时间属性

全部展开

执行之间的延迟,指定,在几秒钟内,作为一个数量大于0.001。定时器的使用,你必须设置ExecutionModeTasksToExecute安排多个定时器对象回调事件。

例子:t =计时器(“时期”,5)

之间的延迟计时器开始第一次执行时,指定,在几秒钟内,作为一个数量大于或等于零。当运行= '在',StartDelay是只读的。

例子:t =计时器(StartDelay, 2)

执行时间定时器回调函数,指定为大于零。使用TasksToExecute属性设置死刑的数量。使用TasksToExecute,你必须设置ExecutionMode安排多个定时器回调事件。

例子:t =计时器(TasksToExecute, 5)

定时器回调函数排队,表中指定的值。使用这个属性来指定要执行的行动当一个计时器TimerFcn前执行之前完成TimerFcn。当运行属性设置为“上”,BusyMode属性是只读的。

BusyMode

行为如果队列空

如果队列非空行为

笔记

“下降”

添加任务队列

放弃任务

可能跳过TimerFcn调用

“错误”

添加任务队列

完成任务;把指定的错误ErrorFcn;停止计时器

停止定时器完成任务后执行队列中

“队列”

添加任务队列

等待队列中清除,然后输入任务队列

调整房地产管理任务执行队列中

看到定时器队列处理冲突为更多的信息。

例子:t =计时器(“BusyMode”,“错误”)

定时器回调函数调度、表中指定的值。当运行= '在',ExecutionMode是只读的。这表总结了执行模式。

执行模式

时间起点

“singleShot”

定时器回调函数只执行一次。因此,房地产没有任何影响。这种模式是默认的执行模式。

“fixedRate”

后立即开始定时器回调函数添加到MATLAB执行队列中

“fixedDelay”

开始后,重启定时器回调函数执行时间滞后由于MATLAB延迟执行队列中。

“fixedSpacing”

当定时器回调函数执行完毕。

  • “singleShot”的单执行模式吗计时器类,是默认值。

    “singleShot”的时机执行模式的示意图。

  • “fixedDelay”,“fixedRate”,“fixedSpacing”是三个支持multiexec万博1manbetxution模式。这些模式定义的起点财产。的之间的属性指定的时间执行,这是相同的。只执行开始的点是不同的。

例子:t =计时器(“ExecutionMode”、“fixedDelay”)

标签属性

全部展开

计时器的名字,指定为一个特征向量或字符串标量。

默认为的定时器,,在那里是一个数字表示定时器对象创建这个会话。重置1、执行明确的类命令。

例子:t =计时器(“名字”,“定时器”)

对象标签,指定为特征向量或字符串标量。

例子:t =计时器(“标签”,“TimerTag”)

对象可见性,指定为“上”“关闭”,这样你就可以阻止用户访问您的应用程序创建计时器对象。的timerfind函数不返回一个对象的ObjectVisibility属性设置为“关闭”。不可见的对象仍然是有效的。检索所有计时器的列表对象在内存中,包括无形的、使用timerfindall函数。

例子:t =计时器(“ObjectVisibility”、“了”)

通用字段数据,你想添加到对象。

例子:t =计时器(“用户数据”,“这是我的第一个计时器!”)

只读属性

全部展开

执行之间的平均时间,指定,在几秒钟内,作为一个数字标量。值是直到定时器执行两个定时器回调。

最后两个执行之间的时间,指定,在几秒钟内,作为一个数字标量。值是直到定时器执行两个定时器回调。

指定为指标,积极执行回调函数“关闭”“上”

执行次数的计时器,指定为一个数字标量。

特征向量识别对象类型。

输出参数

全部展开

发现计时器对象,作为一个定时器对象数组返回。

更多关于

全部展开

版本历史

之前介绍过的R2006a