0
每次我打電話給nlfilter
函數時都會出現一個進度條窗口。我怎麼能禁用該窗口?有沒有類似-q
的選項?如何在Matlab中使用nlfilter函數時禁用進度條?
我正在處理一個圖像的行和應用自定義函數,所以調用nlfilter函數時產生的窗口打擾了很多,也降低了我的系統的性能。
請注意,我只想暫時禁用窗口。
每次我打電話給nlfilter
函數時都會出現一個進度條窗口。我怎麼能禁用該窗口?有沒有類似-q
的選項?如何在Matlab中使用nlfilter函數時禁用進度條?
我正在處理一個圖像的行和應用自定義函數,所以調用nlfilter函數時產生的窗口打擾了很多,也降低了我的系統的性能。
請注意,我只想暫時禁用窗口。
MATLAB中的waitbar
肯定會降低代碼的性能,並且在某些操作系統上運行長時間運行的任務時會非常令人討厭,因爲它可以隨意竊取鍵盤/鼠標的焦點。
我個人創建了我自己的waitbar
函數,並將它放在MATLAB路徑上,以便它被評估而不是內置。
我有一個更復雜的基於文本的進度條,但下面的函數只是將消息打印到命令行。您甚至可以刪除第一個塊,並將其內容簡單地設爲varargout = {[]};
,並且您將沒有輸出。
function varargout = waitbar(varargin)
if nargin >= 2 && ischar(varargin{2})
disp(varargin{2})
elseif nargin >= 3 && ischar(varargin{3})
disp(varargin{3})
end
varargout = {[]};
end
一定要將這個保存在waitbar.m
的某處,在你的MATLAB路徑上。
注意:這會沉默所有 waitbars所以如果你要恢復的典型waitbar行爲,你將需要刪除/重命名此文件。
我猜你可以在命令窗口中鍵入'edit nlfilter'後在代碼中註釋相關行(第64-68行)。然後你可以隨時取消註釋。 –
@ Benoit_11好點,但Matlab安裝在一個目錄,我沒有寫權限,並將該函數複製到我的工作目錄不是我正在尋找的解決方案:) – pQB
@pQB您可以[複製功能到一個文件夾上你的路徑](https://stackoverflow.com/questions/34345739/optimizing-the-print-function-in-matlab/34354095#34354095)你有寫權限。 Matlab將使用該版本而不是內置版本。 – drhagen