Matlab Tic and toc print something every .5 seconds?

Use a while loop to do the following for a total of 5 seconds. Every half second print, using
fprintf, the message “The elapsed time is:” followed by the time
This is all I've come up with after looking at it for over an hr..
clear, clc
close all
tic
timerVal = tic;
value = toc(timerVal);
while value <= 5
I cant seem to figure this out... i can easily get it to print the elasped time up to 5 seconds but i have no idea how to make it print every .5 seconds... Any help would be appreciated

Answers (3)

Ryan
Ryan on 6 Nov 2013
Edited: Ryan on 6 Nov 2013
tic
while toc<=10
pause(0.5)
fprintf('elapsed time is: %.2f seconds. \n',toc')
end
start a timer. Loop. Grab the elapsed time for the timer. continue in the loop if the elapsed time is less than 1/2 second. After the loop, stop the timer if need be.

2 Comments

So if I wanted to go all the way to 5 seconds I would essentially make 10 loops for each .5 seconds and display the time right after ea loop?
do the body of this loop until 5 seconds have elapsed
do the body of this loop until 1/2 second has elapsed
pause, or do some busy work to waste time
end of inner loop
my gosh, we're half a second later than we were before. Oh what shall we do?
end of outer loop

Sign in to comment.

How about if you do a for loop where there is a pause(0.5) and a fprintf() inside the loop?
tic
for k = 1 : 10
pause(0.5);
fprintf('Elapsed time = %.2f seconds.\n', toc);
end

2 Comments

Is there a way to not use a pause function, like will I have to make multiple loops if I don't pause?
What's wrong with pause() - it seems to fit your homework question guidelines and doesn't seem to be excluded. Otherwise you can use a timer but it's trickier and more difficult. I'll give you one hint. Here's some code to stop all timers.
% Delete all timers from memory.
listOfTimers = timerfindall
if ~isempty(listOfTimers)
delete(listOfTimers(:));
end
You need to do something, so I'll let you figure out how to start the timer. The advantage of a timer is that you can do something in between timer events - you're not hung up like you are with pause().

Sign in to comment.

Categories

Asked:

on 15 Sep 2013

Edited:

on 6 Nov 2013

Community Treasure Hunt

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

Start Hunting!