关于求matlab程序的运行时间,自己用的最多是tic和toc;而对于复杂的程序,Profile是个不错的性能分析工具。
1. profile
有个profile工具界面,也可以命令式
例子:
profile on
plot(magic(35))
profile viewer
profsave(profile('info'),'profile_results')
profile on -history
plot(magic(4));
p = profile('info');
for n = 1:size(p.FunctionHistory,2)
if p.FunctionHistory(1,n)==0
str = 'entering function: ';
else
str = ' exiting function: ';
end
disp([str p.FunctionTable(p.FunctionHistory(2,n)).FunctionName]);
end
2. tic,toc
tic
operation
toc
3. cputime
t=cputime;
your_operation
cputime-t
4. clock,etime
t0 = clock;
operation
etime(clock,t0)
但是疑惑的 是 profile 运行时间和 其他 cputime 相差 甚远!! 进一步检查问题再作探讨!
转载本文请联系原作者获取授权,同时请注明本文来自李天成科学网博客。
链接地址:http://blog.sciencenet.cn/blog-388372-327407.html
上一篇:jpg图片转eps 用于LaTeX
下一篇:九月份收获颇丰,三篇文章同时发表!