I've got a Matlab function that takes some time to run, and I'd like to show the user that progress is being made. Just disp
ing the progress every 5% or so would clutter the screen too much, as the previous text would not be erased.
How can this problem be solved? There's other important information in the command window, so clearing it is out of the question.
Showing the progess in the Command Window is also possible (and maybe easier). I found a very simple, fast to implement solution on 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
If you embedd this code the command line is showing (for example): "Percent done: 27.8" without entering a newline every iteration!
You can use waitbar
function for that. See MATLAB Documentation on waitbar.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With