This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


Read elapsed time from stopwatch


elapsedTime = toc
elapsedTime = toc(timerVal)


toc reads the elapsed time from the stopwatch timer started by the tic function. The function reads the internal time at the execution of the toc command, and displays the elapsed time since the most recent call to the tic function that had no output, in seconds.

elapsedTime = toc returns the elapsed time in a variable.

toc(timerVal) displays the time elapsed since the tic command corresponding to timerVal.

elapsedTime = toc(timerVal) returns the elapsed time since the tic command corresponding to timerVal.

Input Arguments


Value of the internal timer saved from a previous call to the tic command.

Output Arguments


Scalar double representing the time elapsed between tic and toc commands, in seconds.


Measure time to generate two random matrices and compute element-by-element multiplication of their transposes.

A = rand(12000, 4400);
B = rand(12000, 4400);
C = A'.*B';

Measure how the time required to solve a linear system varies with the order of a matrix:

t = zeros(1,100);
for n = 1:100
    A = rand(n,n);
    b = rand(n,1);
    x = A\b;
    t(n) = toc;

Measure multiple time spans simultaneously using two pairs of tic/toc calls. To do this, measure the minimum and average time to compute a summation of Bessel functions:

REPS = 1000;   minTime = Inf;   nsum = 10;
tic;  % TIC, pair 1

for i=1:REPS
   tStart = tic;  % TIC, pair 2  
   total = 0;
   for j=1:nsum 
      total = total + besselj(j,REPS);

   tElapsed = toc(tStart);  % TOC, pair 2  
   minTime = min(tElapsed, minTime);
averageTime = toc/REPS;  % TOC, pair 1  


  • Consecutive calls to the toc function with no input return the elapsed since the most recent tic. Therefore, you can take multiple measurements from a single point in time.

    Consecutive calls to the toc function with the same timerVal input return the elapsed time since the tic function call that corresponds to that input.

  • The following actions result in unexpected output:

    • Using tic and toc to time timeit
    • Using tic and toc within a function timed by timeit

Extended Capabilities

See Also

| | | | |

Introduced before R2006a