Progressdlg creates or updates an existing progress dialog that reports on the progress of a task including the estimated time remaining as well as a button to cancel the task. It does not use drawnow in order to improve performance when using one or several other figures (drawnow refreshes all graphics objects in all figures).
progressdlg creates default progress dialog
progressdlg('message'); creates default progress dialog with custom message
progressdlg(n); creates default progress dialog with initial value n or updates existing progress dialog to value n
progressdlg(n,'message'); creates default progress dialog with message and value n or updates existing progress dialog to value n and message
progressdlg('PropertyName',PropertyValue,...); creates or updates progress dialog with properties PropertyName/PropertyValue
handle = progressdlg(...); returns the handle to the progress dialog
handle is empty if user aborted by pressing cancel
See help progressdlg for examples and PropertyName/PropertyValue
1) Does not use drawnow to refresh the progress bar in order to improve performance, especially when using one or several additional figures with many graphics objects.
2) Performance is slightly decreased when using the remaining time estimation and/or cancel button
This code heavily relies on undocumented and unsupported Matlab functionality. It works on Matlab 7+, but use at your own risk!
Felix Ruhnow (2020). Progress Dialog (https://www.mathworks.com/matlabcentral/fileexchange/42990-progress-dialog), MATLAB Central File Exchange. Retrieved .
How to run multiple Progress Dialog with independent control?
Error using progressbar (line 18)
Expected input to be one of these types:
Instead its type was matlab.ui.Figure.
Error in ProgressDialog/UpdateDialog (line 99)
progressbar(obj.Dialog, r, obj.StatusMessage);