2014-11-14 112 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

相關問題