Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

tic

ストップウォッチ タイマーを開始

説明

tic は、関数 toc とともに機能し、経過時間を測定します。関数 tic は現在の時刻を記録し、関数 toc は記録された値を使用して経過時間を計算します。

timerVal = tic は現在の時刻を timerVal に保存し、関数 toc に明示的に受け渡せるようにします。この値を受け渡すことは、同じコードの異なる部分の時間を測定するために tic の呼び出しが複数存在する場合に便利です。timerVal は関数 toc のみで意味を持つ整数です。

すべて折りたたむ

2 つの乱数行列を作成するために必要な時間を測定します。

tic
A = rand(12000,4400);
B = rand(12000,4400);
toc
Elapsed time is 1.592602 seconds.

プログラムの複数の異なるポイントで、関数 tic の呼び出しからの経過時間を測定します。

tic
A = rand(12000,4400);
B = rand(12000,4400);
toc
Elapsed time is 1.492809 seconds.
C = A.*B;
toc
Elapsed time is 1.738239 seconds.

tic および toc 呼び出しの 1 つのペアを使用して、要素単位の行列乗算に必要な合計時間をレポートします。もう 1 つのペアを使用して、プログラムの合計実行時間をレポートします。

tStart = tic;           % pair 2: tic
n = 10;
T = zeros(1,n);
for i = 1:n
    A = rand(12000,4400);
    B = rand(12000,4400);
    tic         % pair 1: tic
    C = A.*B;
    T(i)= toc;  % pair 1: toc
end
tMul = sum(T)
tMul = 0.5096
tEnd = toc(tStart)      % pair 2: toc
tEnd = 12.4692

変数 tMul には乗算にかかった合計時間が含まれます。tEnd はプログラム開始時に関数 tic 呼び出してからの経過時間を指定します。

ヒント

  • 関数 tic を連続して呼び出すと、内部に記録された開始時間が上書きされます。

  • 関数 clear は、関数 tic の呼び出しによって記録される開始時間をリセットしません。

  • 場合によっては、プログラムの実行が速すぎて tictoc では有効なデータを取得できない場合があります。コードの実行が 1/10 秒より速い場合は、コードをループ内で実行して測定し、次に平均を算出して 1 回の実行時間を求めることを検討してください。詳細については、コードのパフォーマンスの測定を参照してください。

  • 次の操作を実行すると、予期せぬ出力が発生します。

    • tic および toc を使用した timeit の時間測定
    • timeit によって時間測定される関数内での tictoc の使用

拡張機能

R2006a より前に導入