显示Matlab指令执行的进度

时间:2014-11-14 21:27:21

标签: matlab

有没有办法显示Matlab指令的执行进度(甚至粗略估计)?

例如,假设我使用pdist计算距离:

D = pdist(my_matrix,'cosine');

这个计算需要几个小时,Matlab是否提供了定期显示执行进度的方法?

1 个答案:

答案 0 :(得分:1)

不是本质上的。您当然可以使用分析器或tic / toc进行事后​​检查。

如果您要为单个函数做很多事情,可以考虑修改函数并使用新名称将其保存在路径中(我有一个名为“Modified Builtin”的目录)。对于pdist.m,您可以保存pdist_updates.m。查看该函数,实际距离是从第250行开始计算的,带有一系列嵌套循环。添加如下行:

disp(sprintf('Processing pair %d of %d',i,n-1));

在第265行。如果你真的想得到想象,可以使用tictoc来计算每个循环的时间,并估算整个计算需要多长时间,这样你就会知道如何很久你必须跑到咖啡机上。

当然,如果您最终取消Statistics Toolbox许可证,或者Mathworks升级工具箱并更改功能,这将导致问题,因此请谨慎使用此方法。