2014-11-14 117 views
0

有什么方法可以显示Matlab指令的执行进度(即使是粗略估计)?显示Matlab指令执行的进度

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

D = pdist(my_matrix,'cosine'); 

并在该计算需要时间,并提供Matlab的任何方式定期显示执行的进度?

+1

在单个指令(并实时)内,我不这么认为。 – 2014-11-14 21:31:13

+1

你可以修改pdist并查找for循环并添加waitbars :) – 2014-11-14 21:35:47

+0

@ Benoit_11不是黑客MATLAB的本地库.m函数:p – ha9u63ar 2014-11-14 21:37:43

回答

1

非本质。您当然可以使用profiler或tic/toc进行事后​​检查。

如果这对于单个函数来说你会做很多事情,你可以考虑修改函数并用一个新名字保存在你的路径中(为了这个目的,我有一个名为“Modified Builtin”的目录) 。在pdist.m的情况下,您可以保存pdist_updates.m。看一下这个函数,实际的距离是从一系列嵌套循环开始的250行左右开始计算的。添加在这样一行:

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

在行265如果你真的想获得幻想,你可以使用tictoc时间每个循环和提供的估计整个计算需要多少时间,这样你就知道你不得不跑到咖啡机多久。

当然,如果最终取消您的统计工具箱许可证,或者如果Mathworks升级工具箱并更改功能,则会导致问题,所以请谨慎使用此方法。

+0

感谢您的答案,它完美的作品。 – Eugenio 2014-11-27 10:35:51

相关问题