No License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from

4.7 | 15 ratings Rate this file 12 Downloads (last 30 days) File Size: 109 KB File ID: #7109 Version: 1.0
image thumbnail



Daniel Claxton (view profile)


11 Mar 2005 (Updated )

Efficient and stylish alternative to WAITBAR.

| Watch this File

File Information

WORKBAR Graphically monitors progress of calculations
    WORKBAR(X) creates and displays the workbar with the fractional length
    "X". It is an alternative to the built-in matlab function WAITBAR,
        - Doesn't slow down calculations
        - Stylish progress look
        - Requires only a single line of code
        - Displays time remaining
        - Display time complete
        - Capable of title and description
        - Only one workbar can exist (avoids clutter)
    WORKBAR(X, MESSAGE) sets the fractional length of the workbar as well as
    setting a message in the workbar window.
    WORKBAR(X, MESSAGE, TITLE) sets the fractional length of the workbar,
    message and title of the workbar window.
    WORKBAR is typically used inside a FOR loop that performs a lengthy
    computation. A sample usage is shown below:
    for i = 1:10000
        % Calculation
        workbar(i/10000,'Performing Calclations...','Progress')
    Another example:
    for i = 1:10000
          % Calculation
          if i < 2000,
               workbar(i/10000,'Performing Calclations (Step 1)...','Step 1')
          elseif i < 4000
               workbar(i/10000,'Performing Calclations (Step 2)...','Step 2')
   elseif i < 6000
               workbar(i/10000,'Performing Calclations (Step 3)...','Step 3')
          elseif i < 8000
               workbar(i/10000,'Performing Calclations (Step 4)...','Step 4')
               workbar(i/10000,'Performing Calclations (Step 5)...','Step 5')


Timebar and Progressbar inspired this file.

This file inspired Progress Dialog.

MATLAB release MATLAB 6.5 (R13)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (15)
24 Mar 2014 Nathan Orloff

I love this function. But it uses the image processing toolbox. I wish it didn't.

26 Feb 2013 Richard Haydock

Further to ben mitch's comments the latest versions of MATLAB dislike try/catch commands so replacing the two starting on lines 207 and 211 with

if exist('progtitle','var')==0;
progtitle = work.progtitle;
if exist('message','var')==0;
message = work.message;

seems to work.

Whilst I haven't found it to be a huge amount faster than waitbar the estimated time remaining, and setting it to run only every 5-10% of iterations, makes up for that!

31 Mar 2011 Arturo Moncada-Torres

02 Jul 2009 andrey

andrey (view profile)

preventing waitbar from slowing down your calculation:
for i =1:50000
if ((i/100) == floor(i/100))

11 Mar 2009 Namshik Han

09 Oct 2008 Simon Robinson

colour match XP scheme. It would be nice to have an Ubuntu theme too.

04 Jun 2006 ebrahim sepidbar


25 Apr 2006 Mike Russell

With R2006a I do not have 'imshow' available. I am trying to determine why so I can use your progress bar.

Also a fantastic option would be the addition or ability to have a cancel button similar to waitbar.

01 Dec 2005 Jan Huisken

Great! I think this is the best of all! Gives you: time remaining, percentage, and title!

14 Nov 2005 Chanin Kawaokaw

It's Works

03 Aug 2005 Rafy Azman

Very cool!!

16 Jun 2005 Matthias Althoff

03 Jun 2005 ben mitch

much better than my old thing (progbar). couple of issues...

1) in v7 i have my default window style set to docked, so the progress bar gets docked, which looks wrong and is less functional. add line 122


and 2) you have not turned off handle vis. so i can plot to this figure, which is a shame. i find if i add this at figure creation things get a bit messed up so my quick hack was to add line 191...


which seems to work. you might want to check that though.

nice job. love the XP styling. bet those UNIXers hate hate hate it. :)

28 Apr 2005 Jay Cee

This is very cool - thanks!

14 Mar 2005 Igor Moiseev

Thank you for useful tool.

15 Mar 2005

Corrected a few minor bugs

18 Mar 2005

Fixed bug with x = 0

Contact us