在MATLAB中,可以使用`timer`函数来创建一个计时器,并通过设置其属性以及调用相关函数来测量代码执行时间或在指定时间间隔后执行任务。以下是使用计时器的基本步骤:
创建计时器
```matlab
t = timer;
```
设置计时器属性
`Period`:计时器触发的间隔(以秒为单位)。
`ExecutionMode`:计时器的触发方式,可以是`singleShot`(触发一次)或`fixedSpacing`(固定间隔触发)等。
`TimerFcn`:计时器触发时执行的回调函数。
例如,设置一个计时器,每隔1秒触发一次,并在触发时显示消息:
```matlab
t.Period = 1;
t.ExecutionMode = 'fixedSpacing';
t.TimerFcn = @myTimerCallback;
```
创建计时器函数
```matlab
function myTimerCallback(~, ~)
disp('Hello!');
end
```
启动计时器
```matlab
start(t);
```
停止计时器
```matlab
stop(t);
```
删除计时器
```matlab
delete(t);
```
使用`tic`和`toc`函数测量代码执行时间
`tic`和`toc`函数是MATLAB中用于测量代码执行时间的常用工具。
启动计时器
```matlab
tstart = tic;
```
执行代码
```matlab
% 这里放置需要计时的代码
```
停止计时器并获取执行时间
```matlab
execution_time = toc(tstart);
```
示例
```matlab
% 创建一个计时器
t = timer;
% 设置计时器属性
t.Period = 5;
t.ExecutionMode = 'singleShot';
t.TimerFcn = @myTimerCallback;
% 创建计时器函数
function myTimerCallback(~, ~)
disp('Hello!');
end
% 启动计时器
start(t);
% 等待计时器运行
pause(6);
% 停止计时器
stop(t);
% 删除计时器
delete(t);
```
在这个示例中,计时器将在5秒后触发一次,并显示“Hello!”。通过`pause(6)`,我们等待计时器运行6秒,以确保计时器有足够的时间触发。