Считайте прошедшее время из секундомера
toc
elapsedTime = toc
toc(timerVal)
elapsedTime = toc(timerVal)
toc
читает прошедшее время из таймера секундомера, начатого функцией tic
. Функция читает внутреннее время при выполнении команды toc
и отображает прошедшее время начиная с нового вызова функции tic
, которая не имела никакого вывода в секундах.
возвращает прошедшее время в переменной.elapsedTime
= toc
toc(
отображается время протекло начиная с команды timerVal
)tic
, соответствующей timerVal
.
возвращает прошедшее время начиная с команды elapsedTime
= toc(timerVal
)tic
, соответствующей timerVal
.
|
Значение внутреннего таймера, сохраненного от предыдущего вызова до команды |
|
Скалярный |
Измерьтесь время, чтобы сгенерировать две случайных матрицы и вычислить поэлементно умножение их транспонирует.
tic A = rand(12000, 4400); B = rand(12000, 4400); toc C = A'.*B'; toc
Измерьтесь, как время, необходимое, чтобы решить линейную систему, меняется в зависимости от порядка матрицы:
t = zeros(1,100); for n = 1:100 A = rand(n,n); b = rand(n,1); tic; x = A\b; t(n) = toc; end plot(t)
Измерьте несколько отрезков времени одновременно с помощью двух пар вызовов tic/toc
. Для этого измерьте минимальное и среднее время, чтобы вычислить суммирование Функций Бесселя:
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); end tElapsed = toc(tStart); % TOC, pair 2 minTime = min(tElapsed, minTime); end averageTime = toc/REPS; % TOC, pair 1
Последовательные вызовы функции toc
без входа возвращают прошедшее начиная с нового tic
. Поэтому можно провести несколько измерений от одного момента времени.
Последовательные вызовы функции toc
с тем же входом timerVal
возвращают прошедшее время начиная с вызова функции tic
, который соответствует тому входу.
Следующие действия приводят к неожиданному выводу:
tic
и toc
ко времени timeit
tic
и toc
в функции, синхронизированной timeit