waitfor(rate) pauses execution until
the code reaches the desired execution rate. The function accounts for the time
that is spent executing code between waitfor calls.
numMisses = waitfor(rate)
returns the number of iterations missed while executing code between
calls.
Start a loop using the rateControl object inside to control the loop execution. Reset the object prior to the loop execution to reset timer. Print the iteration and time elapsed.
reset(r)
for i = 1:10
time = r.TotalElapsedTime;
fprintf('Iteration: %d - Time Elapsed: %f\n',i,time)
waitfor(r);
end
Iteration: 1 - Time Elapsed: 0.001917
Iteration: 2 - Time Elapsed: 1.000898
Iteration: 3 - Time Elapsed: 2.000916
Iteration: 4 - Time Elapsed: 3.000862
Iteration: 5 - Time Elapsed: 4.001023
Iteration: 6 - Time Elapsed: 5.000923
Iteration: 7 - Time Elapsed: 6.000646
Iteration: 8 - Time Elapsed: 7.000644
Iteration: 9 - Time Elapsed: 8.000641
Iteration: 10 - Time Elapsed: 9.000280
Rate object, specified as a handle. This object
contains the information for the desired rate and other information about
the execution. See rateControl (Navigation Toolbox) for more information.
numMisses — Number of missed task executions scalar
Number of missed task executions, returned as a scalar. waitfor returns the number of times the task was missed in
the Rate object based on the
LastPeriod time. For example, if the desired rate is
1 Hz and the last period was 3.2 seconds, numMisses
returns 3.
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.