メインコンテンツ

モデル ワークスペース データの変更

モデル ワークスペースを使用してモデルで使用される変数を格納するときは、モデル ファイルや外部 MAT ファイルなどの変数を保存するソースを選択します。このソースで変数を変更するには、選択したソースのタイプに応じて異なる手順を使用します。

ソースがモデル ファイルであるワークスペース データの変更

モデル ワークスペースのデータ ソースがモデル ファイルの場合、モデル エクスプローラーまたは MATLAB® コマンドを使用して保存されている変数を変更できます (プログラムによるモデル ワークスペースの操作を参照)。

たとえば、モデル ワークスペース内で変数を作成するには、以下の手順に従います。

  1. モデル エクスプローラーを開きます。[モデル化] タブで [モデル エクスプローラー] をクリックするか、Ctrl+H キーを押します。

  2. モデル エクスプローラーの [モデルの階層構造] ペインでモデルのノードを展開し、モデル ワークスペースを選択します。

  3. [追加][MATLAB 変数] を選択します。

    同様に、[追加] メニューまたはツール バーを使用して、Simulink.Parameter オブジェクトをモデル ワークスペースに追加できます。

モデル ワークスペースの変数の値を変更するには、以下の手順に従います。

  1. モデル エクスプローラーを開きます。[モデル化] タブで [モデル エクスプローラー] をクリックします。

  2. モデル エクスプローラーの [モデルの階層構造] ペインで、モデルのワークスペースを選択します。

  3. [コンテンツ] ペインで変数を選択します。

  4. [コンテンツ] ペインまたは [ダイアログ] ペインで表示される値を編集します。

モデル ワークスペース変数を削除するには、次の手順に従います。

  1. モデル エクスプローラーを開きます。[モデル化] タブで [モデル エクスプローラー] をクリックします。

  2. モデル エクスプローラーの [モデルの階層構造] ペインで、モデルのワークスペースを選択します。

  3. [コンテンツ] ペインで変数を選択します。

  4. [編集][削除] を選択します。

MAT ファイルまたは MATLAB ファイルがソースであるワークスペース データの変更

モデル エクスプローラーまたは MATLAB コマンドは、ソースが MAT ファイルまたは MATLAB ファイルであるワークスペース データを変更するときにも使用できます。

永久的に変更するときは、[モデル ワークスペース] ダイアログ ボックスの [ソースに保存] ボタンを使用して、MAT ファイルまたは MATLAB ファイルに変更を保存しなければなりません。

  1. モデル エクスプローラーを開きます。[モデル化] タブで [モデル エクスプローラー] をクリックします。

  2. モデル エクスプローラーの [モデルの階層構造] ペインで、ワークスペースを右クリックします。

  3. [プロパティ] メニュー項目を選択します。

  4. [モデル ワークスペース] ダイアログ ボックスの [ソースに保存] ボタンを使用して、MAT ファイルまたは MATLAB ファイルに変更を保存します。

ワークスペースへの変更を破棄するには、[モデル ワークスペース] ダイアログ ボックスの [ソースから再初期化] ボタンを使用します。

MATLAB コードがソースであるワークスペース データの変更

ソースが MATLAB コードであるデータを最も安全に変更するには、ソースを編集して再度読み込みます。MATLAB コードを編集した後、[モデル ワークスペース] ダイアログ ボックスの [ソースから再初期化] ボタンを使用してワークスペースをクリアし、そのコードを再実行します。

MATLAB コード ソースまたはワークスペース変数自体を編集した結果できる別バージョンのワークスペースの保存および再読み込みを行うには、ワークスペース変数のエクスポートワークスペース変数のインポートを参照してください。

プログラムによるモデル ワークスペースの操作

データ ソースに関係なく、ほとんどの一般的なデータ管理タスクには、Simulink.data.connect 関数を使用してデータ ソースへの接続を作成してから、Simulink.data.DataConnection オブジェクトで提供される一連の共通の関数を使用することをお勧めします。詳細については、Manage Design Data for Simulink Models Programmaticallyを参照してください。

モデル ワークスペースに固有のタスクには Simulink.ModelWorkspace オブジェクトを使用します。Simulink.ModelWorkspace クラスのオブジェクトは、モデル ワークスペースを表します。Simulink® は、Simulink のセッション中にユーザーが開く各モデルに対して、このクラスのインスタンスを作成します。このクラスに関連付けられたメソッドを使用すると、次のようなモデル ワークスペースに関連したさまざまなタスクを実行できます。

  • モデル ワークスペースの変数のリスト

  • 変数への値の割り当て

  • 式の評価

  • モデル ワークスペースのクリア

  • データ ソースからのモデル ワークスペースの再読み込み

  • 指定した MAT ファイルまたは MATLAB ファイルへのモデル ワークスペースの保存

  • ワークスペースがデータ ソースとして指定する MAT ファイルまたは MATLAB ファイルへのワークスペースの保存

たとえば、次の MATLAB コマンドは、モデル パラメーターを指定する変数をモデル ワークスペースに作成して、パラメーターを保存し、それらの 1 つを変更した後、ワークスペースを再度読み込み、前の状態に戻します。

hws = get_param(bdroot, 'modelworkspace');
hws.DataSource = 'MAT-File';
hws.FileName = 'params';
hws.assignin('pitch', -10);
hws.assignin('roll', 30);
hws.assignin('yaw', -2);
hws.saveToSource;
hws.assignin('roll', 35);
hws.reload;

ブロック パラメーター値をスイープする目的でプログラムにより変数にアクセスするには、モデル ワークスペースのプログラム インターフェイス経由で変数を変更する代わりに、Simulink.SimulationInput オブジェクトの使用を検討します。ブロック パラメーター値の最適化、推定およびスイープを参照してください。

モデル マスクの作成

モデルをマスクすると、モデルのユーザーがモデルの引数をどのように操作するかを制御できます。詳細については、システム マスクの概要を参照してください。

参考

トピック