New Matlab Progressbar

From my last post, I am write about how to create Matlab Progressbar using Matlab waitbar function. In this post, I want to write how to create New Matlab Progressbar with more complete feature (colour, time to finishing computation, support multi progressbar, etc). I dont create this script, but I get this script when searhing at www.mathworks.com. This is some of figure from this New Matlab Progressbar script :

We can change width and height from this New Matlab Progressbar by editing file progessbar.m at line 180 to 183. Change this line and check how your New Matlab Progressbar changed.

This is a method how to implementated this New Matlab Progressbar in our code, copy this code and try to running this code from your Matlab program :

% Single bar
m = 500;
progressbar % Init single bar
for i = 1:m
    pause(0.01) % Do something important
    progressbar(i/m) % Update progress bar
end

% Simple multi bar (update one bar at a time)
m = 4;
n = 3;
p = 100;
progressbar(0,0,0) % Init 3 bars
for i = 1:m
    progressbar([],0) % Reset 2nd bar
    for j = 1:n
        progressbar([],[],0) % Reset 3rd bar
        for k = 1:p
            pause(0.01) % Do something important
            progressbar([],[],k/p) % Update 3rd bar
        end
        progressbar([],j/n) % Update 2nd bar
    end
    progressbar(i/m) % Update 1st bar
end

% Fancy multi bar (use labels and update all bars at once)
m = 4;
n = 3;
p = 100;
progressbar('Monte Carlo Trials','Simulation','Component') % Init 3 bars
for i = 1:m
    for j = 1:n
        for k = 1:p
            pause(0.01) % Do something important
            % Update all bars
            frac3 = k/p;
            frac2 = ((j-1) + frac3) / n;
            frac1 = ((i-1) + frac2) / m;
            progressbar(frac1, frac2, frac3)
        end
    end
end

You can download New Matlab Progressbar complete source code at here. Thank to Steve Hoelzer for share this beautiful New Matlab Progressbar.

Source :
http://www.mathworks.com/matlabcentral/fileexchange/6922

Add a Comment

Your email address will not be published. Required fields are marked *