|
翻了一会儿help,现学现卖,权且当作抛砖引玉吧。
其中Endtime是需要设置的停止时间。
- %主函数
- global Endtime
- Endtime=[2008 10 14 12 15 00];
- t = timer('StartDelay', 0,'Period',0.05,'TasksToExecute', 10000,...
- 'ExecutionMode','fixedRate');
- t.TimerFcn = {@mycallback};
- start(t)
复制代码
- function mycallback(t,events,arg_str)
- %mycallback.m
- global Endtime
- Lefttime=etime(Endtime,clock);
- if Lefttime<0
- stop(t);
- disp('剩余时间: 0分 0秒000')
- return
- end
- LeftMillionSeconds=round(rem(Lefttime,1)*1000);
- LeftSeconds=floor(rem(Lefttime,60));
- LeftMinutes=floor(rem(Lefttime/60,60));
- r=sprintf('剩余时间:%d分%d秒%d',LeftMinutes,LeftSeconds,LeftMillionSeconds);
- disp(r)
复制代码
运行结果象下面这样
剩余时间:0分1秒610
剩余时间:0分1秒563
剩余时间:0分1秒516
剩余时间:0分1秒469
剩余时间:0分1秒407
剩余时间:0分1秒360
剩余时间:0分1秒313
剩余时间:0分1秒266
剩余时间:0分1秒219
剩余时间:0分1秒157
剩余时间:0分1秒110
剩余时间:0分1秒63
剩余时间:0分1秒16
剩余时间:0分0秒969
剩余时间:0分0秒907
剩余时间:0分0秒860
剩余时间:0分0秒813
剩余时间:0分0秒766
剩余时间:0分0秒719
剩余时间:0分0秒657
剩余时间:0分0秒610
剩余时间:0分0秒563
剩余时间:0分0秒516
剩余时间:0分0秒469
剩余时间:0分0秒407
剩余时间:0分0秒360
剩余时间:0分0秒313
剩余时间:0分0秒266
剩余时间:0分0秒219
剩余时间:0分0秒157
剩余时间:0分0秒110
剩余时间:0分0秒63
剩余时间:0分0秒16
剩余时间: 0分 0秒000
不会GUI,所以楼主再自己改进吧。
[ 本帖最后由 sogooda 于 2008-10-14 12:22 编辑 ] |
评分
-
1
查看全部评分
-
|