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

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

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

For Each Subsystem を使用した同等のダイナミクスをもつオブジェクトのモデル化

この例では、同等のダイナミクスをもつ複数のオブジェクトを For Each Subsystem を使用してモデル化する方法を示します。オブジェクトの数は、入力信号の長さでパラメーター化されます。

この例は、モデル sldemo_metrosldemo_metro を実装する方法を示します。この方法では、1 つの For Each Subsystem で 3 つの同等のメトロノームをモデル化し、別の For Each Subsystem で各メトロノームの動作が移動ベースに与える同等の効果をモデル化します。

sldemo_metro の 3 つの同等のメトロノームの連続ダイナミクスは、sldemo_metro/Metronome1、sldemo_metro/Metronome2、sldemo_metro/Metronome3 という同等のサブシステムでモデル化されます。これら 3 つのサブシステムは、1 つの For Each Subsystem として表すことができます。メトロノームの初期位置は、外部入力として For Each Subsystem に渡され、渡された初期位置は、積分器の 1 つ の初期条件として使用されます。For Each Subsystem は、この入力信号を最初の次元に沿って分割するように設定されています。その結果、3 つの要素をもつ入力ベクトルによって 3 つのメトロノームの初期位置が定義されます。

図 1: 同等のダイナミクスをもつ 3 つのサブシステムを使用してモデル化したメトロノーム

図 2: 1 つの For Each Subsystem を使用してモデル化したメトロノーム

移動ベースのダイナミクスを調べる際は、各メトロノームに対応する 3 つの同等の 2 次微分項が関与していることに注意してください。これら 3 つのコピーは、1 つの For Each Subsystem で置き換えることができます。9 つの入力信号の代わりに、For Each Subsystem では、すべてのメトロノームに対して 3 つの入力信号 (角変位、角速度、角加速度) しか必要ありません。For Each Subsystem は、1 回の反復ごとに各信号からの 1 つの要素 (つまり、1 つのメトロノーム) について機能します。

図 3: 同じサブシステムのコピーを使用してモデル化した 2 次微分項

図 4: 1 つの For Each Subsystem を使用してモデル化した 2 次微分項

最初のモデルを 2 つの For Each Subsystem で実装した後に、メトロノームの数を反映するようにモデルをパラメーター化します。メトロノームの数を増やすには、初期位置ベクトルに新しい値を導入するだけです。

以下に例を示します。

Theta4 = 0.7568;
set_param('sldemo_metro_foreach/Initial Position', 'Value', '[Theta1 Theta2 Theta3 Theta4]';

モデルを実行して、4 つのメトロノームの変位角度と移動ベースの位置を確認します。

sim('sldemo_metro_foreach');

図 5: 4 つのメトロノーム用にパラメーター化した For Each Subsystem のシミュレーション結果

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