Progress Bar and for loop

529 views (last 30 days)
Noah Kilps
Noah Kilps on 24 Sep 2020
Commented: Mitsu on 21 Sep 2021
Hello,
I am needing to add a progress bar to my code that is basically one 800 line for loop. I keep looking up and trying the basic codes for progress bar already listed on mathworks but I can't seem to figure it out. Can anyone help me figure this out?
Here is the simple one I tried but it doesn't work for me by itself, and I dont know how I would implement it into the for loop either.
function basicwaitbar
f = waitbar(0,'Please wait...');
pause(.5)
waitbar(.33,f,'Loading your data');
pause(1)
waitbar(.67,f,'Processing your data');
pause(1)
waitbar(1,f,'Finishing');
pause(1)
close(f)
end

Accepted Answer

Ameer Hamza
Ameer Hamza on 24 Sep 2020
See this example
f = waitbar(0, 'Starting');
n = 100;
for i= 1:n
% write your code here
waitbar(i/n, f, sprintf('Progress: %d %%', floor(i/n*100)));
pause(0.1);
end
close(f)
  5 Comments
Noah Kilps
Noah Kilps on 24 Sep 2020
I found this code. Using progress bar over waitbar worked better for some reason. See below:
Demos:
% 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
Mitsu
Mitsu on 21 Sep 2021
I am using MATLAB 2018b. Ameer's code works as expected.
I suspect Noah's code includes something else that interferred with this minimum working example.
progressbar seems to be a function from MATLAB File Exchange, while waitbar is built in MATLAB.

Sign in to comment.

More Answers (0)

Categories

Find more on Dialog Boxes in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!