モデル データの管理
変数を使用することで、複数のブロックまたはモデルで使用されるパラメーター値を定義できます。パラメーターの各インスタンスで数値パラメーターの値を個別に更新すると、非効率になり、エラーが発生しやすくなる可能性があります。変数の値は、ワークスペースや変数を定義するソース ファイルで更新することができます。こうした情報のソースを 1 つにすることで、モデル コンポーネントのスケーラビリティと再利用性を高めることができます。
値の範囲、データ型、調整可能性、および信号、状態、ブロック パラメーターのその他の特性を指定するには、Simulink.Parameter
オブジェクトと Simulink.Signal
オブジェクトを使用できます。変数またはオブジェクトを使用してパラメーター値を指定できますが、簡単にするために、この例では変数を使用します。
サポートしている次のファイル タイプを使用することで、変数を定義できます。
MAT ファイル (
.mat
)スクリプトまたは関数 (
.m
)データ ディクショナリ (
.sldd
)
小規模モデルのデータを読み込むには、モデルのコールバックを使用できます。大規模なモデルの階層構造では、他の読み込みメソッドの方が効率的です。
BasicModelingData
という名前のモデルを開くと、PreLoadFcn
モデル コールバックにより、ベース ワークスペースで変数を定義するスクリプトが実行されます。
mdl = "BasicModelingData"; open_system(mdl); cb = get_param(gcs,"PreLoadFcn")
cb = 'BasicModelingDataDefinitions'
プラントの Gain ブロックでは、k
、c
、および m
という名前の変数を使用しています。それぞれの Gain ブロックのアイコンに、ブロックで使用している変数が表示されます。
コントローラーの PID Controller ブロックでは、kpHeight
や kiHeight
など、別の変数をスクリプトから使用しています。PID Controller ブロックを選択すると、ブロックで使用している変数がプロパティ インスペクターに表示されます。
変数の値を対話的に変更するには、MATLAB® コマンド ウィンドウ、モデル データ エディター、または類似のツールを使用します。