PROGMETER enables you to display the completion of a task or loop dynamically in the command window. The progress meter is displayed as text of the form,
>> Task Description: 45%
where the completion level can be modified with subsequent calls to the function. Its usage is similar to that of WAITBAR.
PROGMETER(x, message) will create a new progress meter by displaying the string variable message and the progress represented as a percentage based on x. x can take values between 0 and 1 where 1 implies 100% completion. If a progress meter already exists, this will update the existing progress meter with the new message and progress value calculated from x.
PROGMETER(x) will update the progress meter with the new value in x without changing the message of an existing progress meter. If a new progress meter is created it will not display any message, just the progress.
PROGMETER done will update the progress meter to "Done" and reset the internal state
PROGMETER clear will erase the meter and message and reset the internal state
PROGMETER reset will not update the meter but reset the internal state
When the internal state is reset, subsequent calls to progmeter will display text on a new line. Note that any other text displayed to the MATLAB command window between calls to progmeter can result in undesired behavior.
Examples:
%1. SINGLE LOOP:
clc
progmeter(0, 'Running through pauses')
for i = 1:20
pause(.2);
progmeter(i/20);
end
progmeter done
% MULTIPLE LOOPS:
% This loop is 67% of the processing
for i = 1:20
progmeter((i-1)/20*.67, 'Processing Task (loop 1)');
% Do some operation and pretend it takes .2 seconds
pause(.2);
end
% This loop is 33% of the processing
for i = 1:10
progmeter((i-1)/10*.33 + .67, 'Processing Task (loop 2)');
% Do something else and pretend it takes .2 seconds
pause(.2);
end
progmeter reset
Ameya Deoras (2021). Progress Meter for Execution of Tasks/Loops (https://www.mathworks.com/matlabcentral/fileexchange/21887-progress-meter-for-execution-of-tasks-loops), MATLAB Central File Exchange. Retrieved .
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Create scripts with code, output, and formatted text in a single executable document.
Hi,
I use 'dispstat' function just for this purpose. It can update the previous output which is a missing function of default 'disp'. Very simple to use. It can be downloaded from here: http://www.mathworks.com/matlabcentral/fileexchange/44673
***Sample usage:
dispstat('','init'); % One time only initialization
dispstat(sprintf('Begining the process...'),'keepthis','timestamp');
for i = 97:100
dispstat(sprintf('Progress %d%%',i),'timestamp');
%doing some heavy stuff here
end
dispstat('Finished.','keepprev');
***Output:
11:25:37 Begining the process...
11:25:37 Progress 100%
Finished.
All the best
Download is not working...