MATLAB の CPU 時間
このチュートリアルでは、MATLAB で tic
、toc
、および cputime
コマンドを使用して CPU 時間をチェックする方法について説明します。
cputime
コマンドを使用して MATLAB で CPU 時間を確認する
cputime
コマンドを使用して、Matlab が特定のタスクを実行する際にかかる CPU 時間を確認できます。 タスクの実行前後の CPU 時間に注目すると、その差はその特定のタスクにかかる CPU 時間に等しくなります。
たとえば、Matlab で表面プロットを作成するのにかかった CPU 時間を見つけてみましょう。 以下のコードを参照してください。
clc
clear
Start_t = cputime;
surf(peaks(50))
End_t = cputime;
Elapsed_time = End_t - Start_t
出力:
Elapsed_time =
0.3906
上記のコードでは、clc
および clear
コマンドを使用して、Matlab のコマンドとワークスペース ウィンドウをクリアしています。 出力は秒単位です。つまり、タスクが表面プロットを完了するのに 390 ミリ秒かかったということです。
出力は、Matlab が使用している CPU によって変わる可能性があることに注意してください。 コードを繰り返し実行すると出力が変化する可能性があるため、プログラムを数回実行し、すべての期間の平均をとってエラーを最小限に抑えることをお勧めします。
cputime
コマンドは、Matlab が実行を開始してからの時間を秒単位で返します。 cputime
コマンドを使用すると、特定のタスクにかかる時間を見つける精度が低くなります。これは、コードを再度実行するたびに時間が大幅に変化するため、説明した tic
および toc
コマンドを使用する必要があるためです。 下。
tic
および toc
コマンドを使用して MATLAB で CPU 時間を確認する
tic
および toc
コマンドを使用して、特定のタスクを実行する際に Matlab が使用する CPU 時間を確認できます。 CPU 時間を確認するには、タスクの前に tic
コマンドを定義し、タスクの後に toc
コマンドを定義する必要があります。
tic
コマンドは現在の時間を保存し、toc
コマンドは以前に保存された時間を使用して経過時間を計算します。 たとえば、Matlab で表面プロットを作成するのにかかった CPU 時間を見つけてみましょう。
以下のコードを参照してください。
clc
clear
tic
surf(peaks(50))
toc
出力:
Elapsed time is 0.105429 seconds.
上記の出力では、表面プロットにかかった時間が、cputime
コマンドで見つけた時間と異なることがわかります。 上記の両方の方法で実験を実行して、どちらの関数が正確かを確認できます。
pause()
関数を使用してプログラムを一時停止し、一時停止時間に近いタスクの時間を確認できます。 以下のコードを参照してください。
clc
clear
tic
pause(1)
toc
出力:
Elapsed time is 1.010429 seconds.
上記のコードでは、1 秒の一時停止を指定しており、出力は 1 秒近くになっています。 cputime
コマンドを使用して、所要時間を確認してみましょう。
以下のコードを参照してください。
clc
clear
Start_t = cputime;
pause(1)
End_t = cputime;
Elapsed_time = End_t - Start_t
出力:
Elapsed_time =
0.2656
実際の一時停止時間と上記の出力の出力の差は非常に大きいです。 したがって、タスクの実行にかかる CPU 時間を確認するには、tic
および toc
コマンドを使用する必要があります。
timeit()
関数を使用して、Matlab で関数を実行する前に関数の実行にかかった時間を確認することもできます。 timeit()
関数の詳細については、この リンク を確認してください。
この リンク をチェックして、Matlab コードのパフォーマンスを正確に測定してください。