メインコンテンツ

モデル データの管理

変数を使用することで、複数のブロックまたはモデルで使用されるパラメーター値を定義できます。パラメーターの各インスタンスで数値パラメーターの値を個別に更新すると、非効率になり、エラーが発生しやすくなる可能性があります。変数の値は、ワークスペースや変数を定義するソース ファイルで更新することができます。こうした情報のソースを 1 つにすることで、モデル コンポーネントのスケーラビリティと再利用性を高めることができます。

値の範囲、データ型、調整可能性、および信号、状態、ブロック パラメーターのその他の特性を指定するには、Simulink.Parameter オブジェクトと Simulink.Signal オブジェクトを使用できます。変数またはオブジェクトを使用してパラメーター値を指定できますが、簡単にするために、この例では変数を使用します。

サポートしている次のファイル タイプを使用することで、変数を定義できます。

  • MAT ファイル (.mat)

  • スクリプトまたは関数 (.m)

  • データ ディクショナリ (.sldd)

小規模モデルのデータを読み込むには、モデルのコールバックを使用できます。大規模なモデルの階層構造では、他の読み込みメソッドの方が効率的です。

BasicModelingData という名前のモデルを開くと、PreLoadFcn モデル コールバックにより、ベース ワークスペースで変数を定義するスクリプトが実行されます。

mdl = "BasicModelingData";
open_system(mdl);
cb = get_param(gcs,"PreLoadFcn")
cb = 
'BasicModelingDataDefinitions'

Base workspace with variable definitions

プラントの Gain ブロックでは、kc、および m という名前の変数を使用しています。それぞれの Gain ブロックのアイコンに、ブロックで使用している変数が表示されます。

Mechanical system with Gain blocks displaying k, c, and 1/m

コントローラーの PID Controller ブロックでは、kpHeightkiHeight など、別の変数をスクリプトから使用しています。PID Controller ブロックを選択すると、ブロックで使用している変数がプロパティ インスペクターに表示されます。

Controller with Property Inspector displaying parameter values for a PID Controller block

変数の値を対話的に変更するには、MATLAB® コマンド ウィンドウ、モデル データ エディター、または類似のツールを使用します。

参考

トピック