Main Content

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

入力行列を使用したエクスポート関数モデルのシミュレーションのテスト

関数呼び出しシーケンスが単純でモデル入力として指定できる場合、入力行列を使用したシミュレーションが、エクスポート関数モデルをテストする推奨方法になります。

  • 関数呼び出し時間を指定する時間ベクトルを作成します。

  • 入力データを時間ベクトルに追加する行列を作成します。

  • シミュレーションを実行します。

この例でモデルを作成するには、エクスポート関数モデルの作成を参照してください。

関数呼び出し入力とデータ入力の作成

ルートレベルの関数呼び出し Inport ブロックでイベントが発生したことを示す時間ベクトルとルート レベル データ Inport ブロックのデータベクトルを作成します。

  1. Inport 1 ブロックと Inport 2 ブロックで、0.10.01 の時間ステップを使用する列ベクトルを作成します。MATLAB® コマンド ウィンドウで次を入力します。

    t1 = [0:0.1:10]'
    t2 = [0:0.01:10]'
    • 時間ベクトルのデータ型は double で、単調増加でなければなりません。

    • 関数呼び出し Inport ブロックのサンプル時間が指定されている場合、時間ベクトルは、指定された値で増えていく周期系列でなければなりません。

    • 1 つのタイム ステップで複数の関数呼び出しを指定するには、時間値を適宜繰り返します。たとえば、t = 0.1 で 3 つのイベントを指定し、t = 0.5 で 2 つのイベントを指定するには、時間ベクトルに 0.1 を 3 回、0.5 を 2 回リストします。つまり、t = [0.1 0.1 0.1 0.5 0.5]' とします。

    • 非周期的時間ベクトルを使用する場合は、Inport ブロックの [サンプル時間]-1 に設定し、非周期的な時間ベクトル t1 = [0, 0.1, 0.2, 0.4, 0.8] を指定します。

  2. 時間ステップと Inport ブロック 3 のデータ値を使用して行列を作成します。

    sine_data = sin(0:0.01:10)'
    d3 =[t2,sine_data]

    入力データの形式に記載されているように、データ入力ではサポートされている任意の形式を使用できます。

以下の表に、時間ベクトル t の指定に関する追加の情報を示します。

内部 Trigger Port ブロックのサンプル時間タイプの設定

継承されたサンプル時間 (-1) をもつルートレベルの関数呼び出し Inport ブロック

離散サンプル時間をもつルートレベルの関数呼び出し Inport ブロック

トリガー

減少しない列ベクトル。

Function-Call Subsystem は列ベクトルで指定された時間に実行されます。サンプル時間は周期的または非周期的になります。

空行列 ([]) を指定した場合は、Function-Call Subsystem は実行されません。

減少しない列ベクトル。列ベクトルの各要素は、Inport ブロックで指定されたサンプル時間の整数倍でなければなりません。

Function-Call Subsystem は列ベクトルで指定された時間に実行されます。

空行列 ([]) を指定した場合、Function-Call Subsystem は Inport ブロックで指定されたサンプル時間ごとに実行されます。

周期的

この構成は使用できません。

空行列 ([])。

Function-Call Subsystem はそれを呼び出す Inport ブロックで指定された時間に実行されます。

エクスポート関数モデルのシミュレーション

エクスポート関数モデルをシミュレートして、コードを生成する前にその動作をテストおよび確認します。

  1. MATLAB ワークスペースから時間とデータをインポートします。

    [モデル化] タブおよび [設定] セクションで、[モデル設定] を選択します。[コンフィギュレーション パラメーター] ダイアログ ボックスで、[データのインポート/エクスポート] ペインを選択し、[入力] パラメーターを t1, t2, d3 に設定します。

    t1 および t2 は、関数呼び出し Inport ブロック 12 のイベント時間を含む列ベクトルです。d3 は、データ Inport ブロック 3 の入力値と時間を比較したテーブルです。

  2. シミュレーションを実行します。

  3. 結果をプロットします。MATLAB コマンド ウィンドウで次を入力します。

    plot(yout.time, yout.signals(1).values)
    hold
    plot(yout.time, yout.signals(2).values)

  4. t1 を変更して 0.5 秒ごとにイベントを設定します。0.5 は、Inport ブロック 1 で指定された 0.1 の整数倍です。

    t1 = [0:0.5:10]'
  5. シミュレーションを再実行します。

モデルをテストした後に、関数のコードを生成できます。エクスポート関数モデルのコードの生成を参照してください。

参考

ブロック

関連するトピック