MATLAB の CPU 時間

Ammar Ali 2023年6月20日
  1. cputime コマンドを使用して MATLAB で CPU 時間を確認する
  2. tic および toc コマンドを使用して MATLAB で CPU 時間を確認する
MATLAB の CPU 時間

このチュートリアルでは、MATLAB で tictoc、および 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 コードのパフォーマンスを正確に測定してください。

著者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook