当你需要计算一组Matlab操作的运行时间时,可以使用tic和toc函数。tic函数启动一个秒表,表示计时开始;toc则停止这个秒表,表示计时结束,并计算出所经历的时间(单位为秒)。
调用格式:
tic;
需要计时的时间段;
toc;
比如,下面的代码连续两次计算plot(rand(50,5))这条指令的执行时间:
>> tic;plot(rand(50,5));toc
Elapsed time is 0.202291 seconds.
>> tic;plot(rand(50,5));toc
Elapsed time is 0.062176 seconds.
你会发现这两条同样的plot命令在计算时间上的差别。第二条plot命令要比第一条执行得快,这是因为Matlab已经在执行第一条plot命令时生成了Figure窗口并且已经将所需要的函数编译到了内存,这样第二条指令就省去了创建Figure窗口以及函数搜索和编译的时间。
除了tic和toc外,Matlab还提供了两个函数cputime和etime,用来计算一次运算所占用的时间。
其中,函数cputime返回以秒为单位的、自当前Matlab程序段启动之后到调用该函数所占用的CPU时间;
调用格式:
t=cputime;
需要计时的程序段;
t=cputime-t;
函数etime计算两个以6元素行向量格式(例如函数clock与datevec的返回值)表示的时间向量(年 月 日 时 分 秒)之间以秒为单位的时间间隔。实际上,函数tic和toc内部也在利用clock和etime进行计时。
调用格式:
etime(time1,time2);
下面的这些代码演示了cputime和etime的用法:
>> t0 = cputime;plot(rand(50,5)); cputime-t0
ans =
>> t1 = clock; plot(rand(50,5)); etime(clock,t1)
ans =
由此可看出cpu占用时间与程序占用时间之间的差别。
在MATLAB中,tic和toc用于计算代码执行时间,展示从tic到toc的秒数。cputime返回自MATLAB启动以来CPU使用的总时间,而etime计算两个时间向量之间的差值。通过示例展示了这两个函数的用法和区别。
5201

被折叠的 条评论
为什么被折叠?



