matlab中用cputime计算的时间和实际时间不一样怎么回事?
1个回答
2022-12-14 · 百度认证:北京惠企网络技术有限公司官方账号
关注
展开全部
原因分析如下:
运行一个程序,如果这个程序在cache中,那么运行速度就会很快,如果你的程序是在内存中,那么这个速度就会相对比较慢。因此,短的运算程序一般计算时间没有意义,因为受OS调度策略影响,只有计算时间长的程序,获取运算时间才有意义。
Matlab中计算代码运行时间的方法:
1.cputime函数
t1=cputime;
t2=cputime;
t=t2-t1
t1是在程序执行前保存当时的cpu时间,t2是在程序执行结束后再获取一个cpu时间,它们的差值就是程序的运行时间。
2.clock+etime
cputime函数方法虽然可行,但要注意单位不一定是秒,只是一个cpu运行时间单位。clock+etime的方法可以解决这个问题。
clock函数可以调用windows系统的时钟获取当前时刻,etime函数则可以计算两个时刻的差值。使用格式如下:
t1=clock;
??
t2=clock;
t=etime(t2,t1)
3.tic/toc方法。
使用格式如下:
tic-toc