ドキュメンテーション センター

  • 評価版
  • 製品アップデート

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

MATLAB タイマー オブジェクトの使用

概要

MATLAB® には、MATLAB コマンドの実行のスケジュールに使用できるタイマー オブジェクトがあります。この節では、タイマー オブジェクトの作成、タイマー実行の開始、タイマーが始動するときに実行したい処理の指定などの方法を説明します。タイマー オブジェクトで指定された時間が経過し、タイマー オブジェクトで指定したコマンドが実行されるときに、タイマーは "始動する" と言われます。

タイマーを使用するには、以下のステップを実行します。

  1. タイマー オブジェクトを作成します。

    関数 timer を使用してタイマー オブジェクトを作成します。詳細は、「タイマー オブジェクトの作成」を参照してください。

  2. タイマーが始動した際に実行し、タイマー オブジェクトの動作の他の点をコントロールする、MATLAB コマンドを指定します。

    この情報の指定には、タイマー オブジェクトのプロパティを使用します。タイマー オブジェクトでサポートされているすべてのプロパティの情報は、「タイマー オブジェクトのプロパティの操作」を参照してください(ステップ 1 でタイマー オブジェクトを作成する際に、プロパティを設定することもできます)。

  3. タイマー オブジェクトを起動します。

    タイマー オブジェクトを作成し、関数 start または startat を使用して起動します。詳細は、「タイマーの起動と停止」を参照してください。

  4. タイマー オブジェクトの使用を終了後、タイマー オブジェクトを削除します。

    タイマー オブジェトの使用が終了したら、メモリから削除しなければなりません。詳細は、「メモリからタイマー オブジェクトを削除」を参照してください。

    メモ:   指定した実行時間とタイマーの実際の実行は、タイマー オブジェクトは MATLAB シングルスレッド実行環境で動作するため、異なります。このタイムラグの長さは、MATLAB が実行している他の処理が何であるかに依存します。イベント キュー内のコールバック関数の実行を強制するためには、コード内に関数 drawnow への呼び出しを含めます。関数 drawnow は、イベント キューをフラッシュします。

例:メッセージの表示

次の例は、10 秒経過後に MATLAB コマンド文字列を実行するタイマー オブジェクトを設定します。この例では、2 つのタイマー オブジェクト プロパティ TimerFcnStartDelay の値を指定して、タイマー オブジェクトを作成します。TimerFcn は、タイマー コールバック関数を指定します。これは、タイマーが始動するときに実行したい MATLAB コマンド文字列 またはプログラム ファイルです。この例では、タイマー コールバック関数は MATLAB ワークスペース変数 stat の値を設定し、MATLAB の disp コマンドを実行します。StartDelay プロパティは、タイマーが始動する前に経過する時間を指定します。

タイマー オブジェクトを作成した後、この例ではタイマー オブジェクトを起動するために関数 start を使用します(この例の追加のコマンドは、タイマーを示すためのものであり、タイマーの操作には必要ありません)。

t = timer('TimerFcn', 'stat=false; disp(''Timer!'')',... 
                 'StartDelay',10);
start(t)

stat=true;
while(stat==true)
  disp('.')
  pause(1)
end

このコードを実行すると、次のものが出力されます。

.
.
.
.
.
.
.
.
.
Timer!

delete(t) % Always delete timer objects after using them.

関連する例

この情報は役に立ちましたか?