matlab中用cputime计算的时间和实际时间不一样怎么回事?

 我来答
星河254
推荐于2019-09-11 · TA获得超过3345个赞
知道答主
回答量:10
采纳率:57%
帮助的人:1119
展开全部

原因分析如下:

运行一个程序,如果这个程序在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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式