Using waitbar with tic toc..

Hi, I am trying to display waitbar; i have defined tic @ start of the code and the following code @ end:
end_Time = toc;
a=waitbar(1, 'Please wait ..', 'Working');
for k=tic:end_Time;
waitbar(k, a);
end
% close(a)
But the waitbar is not running in a continuous mode, it runs near the end and vanishes. I want its progress to scynchronise with code running time. Thanks alot.

2 Comments

Why would you want to display a wait bar after the work has already been done??
I am interested in displaying waitbar when the task starts till it is completed..

Sign in to comment.

 Accepted Answer

The waitbar is fine in your code, but tic and toc fail.
waitH = waitbar(1, 'Please wait ..');
for k = 1 : 10
waitbar(k / 10, waitH);
pause(0.5)
end
delete(waitH )

3 Comments

Its working fine now. How can i start waitbar when matlab starts processing?(it shows waitbar near end when file is almost processed)
I am reading various files,so the processing time is different depending on the data size present in each file. How can i develop a generic waitbar, that is shown in the time when files are processed, to give a user friendly touch. Many thanks..
In order to show in terms of time you would need a prediction for the time it will take to process. But since you have a different amount of time for each, you would need to first have some code that examined the size of each file and used that to estimate the time it would take to process each, and then you would total those estimated sizes and use that in your waitbar calculations
estimated_time = .... whatever it comes out as
begin_time = tic;
for K = 1 : number of files
elapsed_time = toc(begin_time);
waitbar( waitH, elapsed_time / estimated_time );
....
end

Sign in to comment.

More Answers (0)

Categories

Find more on App Building in Help Center and File Exchange

Tags

Asked:

JB
on 30 Nov 2015

Commented:

on 30 Nov 2015

Community Treasure Hunt

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

Start Hunting!