有什么方法可以显示Matlab指令的执行进度(即使是粗略估计)?显示Matlab指令执行的进度
例如假设我使用pdist计算距离:
D = pdist(my_matrix,'cosine');
并在该计算需要时间,并提供Matlab的任何方式定期显示执行的进度?
有什么方法可以显示Matlab指令的执行进度(即使是粗略估计)?显示Matlab指令执行的进度
例如假设我使用pdist计算距离:
D = pdist(my_matrix,'cosine');
并在该计算需要时间,并提供Matlab的任何方式定期显示执行的进度?
非本质。您当然可以使用profiler或tic/toc进行事后检查。
如果这对于单个函数来说你会做很多事情,你可以考虑修改函数并用一个新名字保存在你的路径中(为了这个目的,我有一个名为“Modified Builtin”的目录) 。在pdist.m
的情况下,您可以保存pdist_updates.m
。看一下这个函数,实际的距离是从一系列嵌套循环开始的250行左右开始计算的。添加在这样一行:
disp(sprintf('Processing pair %d of %d',i,n-1));
在行265如果你真的想获得幻想,你可以使用tic
和toc
时间每个循环和提供的估计整个计算需要多少时间,这样你就知道你不得不跑到咖啡机多久。
当然,如果最终取消您的统计工具箱许可证,或者如果Mathworks升级工具箱并更改功能,则会导致问题,所以请谨慎使用此方法。
感谢您的答案,它完美的作品。 – Eugenio 2014-11-27 10:35:51
在单个指令(并实时)内,我不这么认为。 – 2014-11-14 21:31:13
你可以修改pdist并查找for循环并添加waitbars :) – 2014-11-14 21:35:47
@ Benoit_11不是黑客MATLAB的本地库.m函数:p – ha9u63ar 2014-11-14 21:37:43