Main Content

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

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

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

モデル ワークスペースのデータ ソースがモデル ファイルの場合、モデル エクスプローラーまたは MATLAB® コマンドを使用して保存されている変数を変更できます (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 コード ソースまたはワークスペース変数自体を編集した結果できる別バージョンのワークスペースの保存および再読み込みを行うには、ワークスペース変数のエクスポートワークスペース変数のインポートを参照してください。

MATLAB コマンドを使用したワークスペース データの変更

MATLAB コマンドを使用してモデル ワークスペースのデータを変更するには、まず次のコマンドを使用して現在選択されているモデルのワークスペースを取得します。

hws = get_param(bdroot, 'modelworkspace');

このコマンドは、モデル ワークスペースの初期化に使用されるデータ ソースを指定するプロパティをもつ Simulink.ModelWorkspace オブジェクトへのハンドルを返します。データ ソースを変更するには、このプロパティを編集します。

ワークスペース メソッドは次の場合に使用します。

  • 変数のリスト、設定、クリア

  • ワークスペース内の式の評価

  • ワークスペースの保存と再読み込み

たとえば、次の 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 オブジェクトの使用を検討します。ブロック パラメーター値の最適化、推定およびスイープを参照してください。

モデル マスクの作成

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

関連するトピック