このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
XY プロットでのシミュレーション データの可視化
この例では、シミュレーション データ インスペクターの XY プロットでデータをプロットし、プロットされた信号間の関係を再生コントロールを使用して解析する方法を示します。モデル ex_sldemo_bounce
の 2 つのシミュレーションを実行し、跳ねるボールの位置と速度の関係を解析します。
この例で使用している XY プロットは、Record ブロックおよび XY Graph ブロックでも使用できます。Record ブロックおよび XY Graph ブロックで XY プロットを使用する場合は、ツールストリップを使用して可視化を追加し、外観を構成します。XY プロットでデータをプロットする方法はこの例と同じです。
モデルのシミュレーション
跳ねるボールのダイナミクスをシミュレートするモデル ex_sldemo_bounce
を開きます。
open_system("ex_sldemo_bounce")
モデルは出力データをログに記録するように設定されているため、Outport ブロックに接続された位置と速度の信号がワークスペースおよびシミュレーション データ インスペクターに記録されます。
モデルのシミュレーションを実行するには、[実行] をクリックします。次に、[結果の確認] で [データ インスペクター] をクリックしてシミュレーション データ インスペクターを開きます。
あるいは、プログラムでモデルをシミュレートしてシミュレーション データ インスペクターを開くこともできます。
out = sim("ex_sldemo_bounce");
Simulink.sdi.view
XY プロットでのデータのプロット
既定では、シミュレーション データ インスペクターは、レイアウトの各サブプロットに対して時間プロットを使用します。XY プロットでデータをプロットするには、可視化をレイアウトに追加します。[可視化とレイアウト] をクリックし、[XY] アイコンをクリックするかサブプロットにドラッグします。
XY プロットで信号をプロットするには、信号テーブルで、プロットする信号を選択します。次に、信号のペアを "x" 軸と "y" 軸に割り当てます。この例では次のようにします。
Position
信号とVelocity
信号の横にあるチェック ボックスをオンにします。[XY データ] ダイアログ ボックスで、
1
行目のドロップダウン メニューを使用してPosition
を [x 軸] に、Velocity
を [y 軸] に割り当てます。[OK] をクリックします。
また、[XY データ] ダイアログ ボックスを使用して以下も実行できます。
[スワップ] ボタンを使用して "x" データと "y" データの選択を入れ替える。
次の行のドロップダウン メニューを使用して "x" データと "y" データのペアを追加する。
[可視化設定] を使用して、XY プロットの外観を変更できます。XY プロットの可視化設定にアクセスするには、[可視化設定] をクリックします。
ラインとマーカーの色は、"x" データを提供する信号または "y" データを提供する信号の色と一致させることができます。既定では、ラインとマーカーの両方に "y" 軸の信号の色が使用されます。指定された設定は、レイアウトのすべての XY プロットに適用されます。
また、[可視化設定] から "x" 軸と "y" 軸の範囲を変更することもできます。範囲を変更するには、まず、[オートスケール] をオフにします。次に、"x" と "y" の範囲の新しい値を入力します。これらの範囲は現在選択されている XY サブプロットに適用されます。既定では [オートスケール] が選択されており、XY サブプロットをビューに合わせる操作が実行されます。
時間プロットの追加とデータの検査
シミュレーション データ インスペクター、Record ブロック、または XY Graph ブロックでは、複数の可視化をレイアウトに含めることができます。たとえば、XY プロットと共に時間プロット上で各信号を確認できるように、3 つのサブプロットをもつレイアウトに変更します。
サブプロット レイアウトを変更するには、[可視化とレイアウト] をクリックします。次に、[基本レイアウト] セクションで、3 番目のサブプロットの上に 2 つのサブプロットをもつレイアウトを選択します。
Position
信号を右上の時間プロットでプロットし、Velocity
信号を下部の時間プロットでプロットします。時間プロットで信号をプロットするには、信号をプロットするサブプロットを選択し、プロットする信号の横にあるチェック ボックスをオンにします。
データを検査するには、カーソルを追加します。XY プロットで、カーソルの垂直線は "X" 軸の値を示し、水平線は "Y" 軸の値を示します。点に対応する時間は、プロットの右上に表示されます。
XY プロットで、プロットされたラインに沿ってカーソルを移動します。キーボードの矢印キーを使用するか、ライン上の点で一時停止して強調表示された点をクリックすることで、カーソルを XY プロットで移動させることもできます。
時間プロットでカーソルをドラッグすると、XY プロットのカーソルは、プロットされたデータに沿って同期的に移動します。XY プロットに設定できるカーソルは 1 つのみです。2 つのカーソルをレイアウトに追加すると、XY カーソルは時間プロットの左のカーソルと共に移動します。
データの再生
これでシミュレーション データの包括的な可視化が設定されたので、データを再生すると、信号間の関係を理解しやすくなります。データをシミュレーション データ インスペクターで再生すると、アニメーション化されたカーソルが、開始時間から終了時間までのログに記録されたシミュレーション データをスイープします。[再生コントロールの表示/非表示を切り替えます] をクリックして、ビューに再生コントロールを追加します。
再生の速度を制御したり、いつでも一時停止することができます。既定では、シミュレーション データ インスペクターはデータを 1 秒当たり 1 秒で再生します。つまり、クロック時間の 1 秒につき、1 秒のデータ分カーソルが動きます。この例では、データは 25 秒かかります。ラベルの左にある矢印をクリックして、再生速度を低下させます。
再生コントロールの使用の詳細については、シミュレーション データ インスペクターでのデータの再生を参照してください。
複数のシミュレーションのデータの解析
シミュレーション パラメーターの変更がデータに与える影響を解析するため、XY プロット上に複数の系列をプロットすることができます。ボールの初期速度を高くして、モデルを再度シミュレートします。
Simulink® エディターまたは MATLAB™ コマンド ウィンドウを使用して、Initial Velocity ブロックの [初期値] パラメーターを 25
に変更します。その後、モデルをシミュレートします。
set_param("ex_sldemo_bounce/Initial Velocity",'Value','25') sim('ex_sldemo_bounce');
シミュレーション データ インスペクターは、1 回目の実行をアーカイブに移動し、新しい実行にビューを移します。新しい実行からの信号に合わせてズーム レベルを調整するには、[ビューに合わせる] をクリックします。
アーカイブから 1 回目の実行を作業領域にドラッグします。次に、実行アクションのメニューを使用して、プロット済み信号の選択を現在の実行から 1 回目の実行にコピーします。
プロット済み信号の選択を現在の実行からコピーするには、現在の実行に対応する行の右にある 3 つのドットをクリックします。次に、[プロット済み信号の選択] で [コピー] を選択します。
1 回目の実行からのデータをプロットするには、プロット済み信号の選択を実行に貼り付けます。1 回目の実行に対応する行の右にある 3 つのドットをクリックします。次に、[プロット済み信号の選択] で [貼り付け] を選択します。
両方の実行の信号は、同じ信号名と同じ信号色を持っています。1 回目の実行の信号に対する色を変更します。
テーブルでラインの表現をクリックします。
新しい色を選択します。
[セット] をクリックします。
両方の実行の信号は名前も同じです。プロットされた信号がどの実行のものであるかは、凡例のツールヒントを使用して判別できます。
信号の名前を変更することもできます。たとえば、1 回目の実行の信号に対する名前を Position-1
と Velocity - 1
に変更します。信号の名前を変更するには、テーブルで名前をダブルクリックし、新しい名前を入力します。
XY プロットに複数の系列を追加すると、系列ごとにカーソルが表示されます。XY プロット上のすべてのカーソルの動きは同期しており、カーソルに表示されているすべての信号値は同じ時間に対応します。
XY プロット上にプロットした信号は、[XY データ] ダイアログ ボックスを使用して管理できます。XY プロットを右クリックしてサブプロットのコンテキスト メニューにアクセスします。次に、[プロットされた信号を表示] を選択します。[XY データ] ダイアログ ボックスを使用して、"x" データと "y" データのペアをプロットから削除したり、各データ ペアの "x" データと "y" データを提供する信号を変更したりできます。