And*_*eas 8 matlab progress-bar
我有一个Matlab函数,需要一些时间来运行,我想向用户显示正在取得进展.只需disp每5%左右进度就会使屏幕过于混乱,因为以前的文本不会被删除.
怎样才能解决这个问题?命令窗口中还有其他重要信息,因此清除它是不可能的.
Sem*_*ger 14
在命令窗口中显示progess也是可能的(也许更容易).我在http://undocumentedmatlab.com/blog/command-window-text-manipulation/上找到了一个非常简单,快速实施的解决方案.
reverseStr = '';
for idx = 1 : someLargeNumber
% Do some computation here...
% Display the progress
percentDone = 100 * idx / someLargeNumber;
msg = sprintf('Percent done: %3.1f', percentDone); %Don't forget this semicolon
fprintf([reverseStr, msg]);
reverseStr = repmat(sprintf('\b'), 1, length(msg));
end
Run Code Online (Sandbox Code Playgroud)
如果您嵌入此代码,则命令行显示(例如):"完成百分比:27.8",而不是每次迭代都输入换行符!