ドキュメンテーション

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

Simulink.ModelWorkspace

プログラムを使用したモデルのモデル ワークスペースの操作

説明

Simulink.ModelWorkspace オブジェクトを使用して、モデル ワークスペースを操作します。たとえば、変数を追加および削除したり、ワークスペースのデータ ソースを設定したり、ワークスペースに変更を保存したりできます。

詳細については、モデル ワークスペースを参照してください。

作成

Simulink.ModelWorkspace を作成するには、関数 get_param を使用してモデル パラメーター ModelWorkspace の値をクエリします。たとえば、myModel.slx という名前のモデルのモデル ワークスペースを表す mdlWks という名前のオブジェクトを作成するには、次を入力します。

mdlWks = get_param('myModel','ModelWorkspace')

プロパティ

すべて展開する

モデル ワークスペース内の変数を初期化するソース。次の文字ベクトルのいずれかとして指定します。

  • 'Model File' — 変数はモデル ファイルに格納されます。モデルを保存する場合は、変数も保存します。

  • 'MATLAB Code' — 変数は、作成してモデル ファイルに保存した MATLAB コードで作成されます。

  • 'MAT-File' — 変数は MAT ファイルに保存され、モデル ファイルとは別に管理および操作できます。

  • 'MATLAB File' — 変数はスクリプト ファイルの MATLAB コードで作成され、モデル ファイルとは別に管理および操作できます。

データ型: char

変数を格納または作成する外部ファイルの名前。文字ベクトルとして指定します。このプロパティを有効にするには、DataSource'MAT-File' または 'MATLAB File' に設定します。

例: 'myFile.mat'

例: 'myFile.m'

データ型: char

変数を初期化する MATLAB コード。文字ベクトルとして指定します。このプロパティを有効にするには、DataSource'MATLAB Code' に設定します。

例: sprintf('%% Create variables that this model uses.\n\nK = 0.00983;\n\nP = Simulink.Parameter(5);')

データ型: char

オブジェクト関数

getVariableモデルのモデル ワークスペース内の変数の値を返す
getVariablePartモデル ワークスペース内の変数プロパティの値を取得する
setVariablePartモデル ワークスペース内の変数のプロパティを設定する
hasVariable変数がモデルのモデル ワークスペースに存在するかどうかを判定する
whosモデルのモデル ワークスペース内の変数リストを返す
saveToSourceモデル ワークスペースの変更をモデル ワークスペースの外部データ ソースに保存する
saveモデル ワークスペースの内容を MAT ファイルに保存する
reloadモデル ワークスペースのデータ ソースから変数を再初期化する
evalinモデルのモデル ワークスペースの式を評価する
clearモデルのモデル ワークスペースから変数をクリアする
assigninモデルのモデル ワークスペースの変数に値を代入する

すべて折りたたむ

変数をモデルのモデル ワークスペースに作成します。次に、変数を修正して、修正を確認するために変数値をクエリします。

モデル例 vdp を開きます。

open_system('vdp')

vdp のモデル ワークスペースを表す Simulink.ModelWorkspace オブジェクト mdlWks を作成します。

mdlWks = get_param('vdp','ModelWorkspace');

モデル ワークスペースに値 5.12myVar という名前の変数を作成します。

assignin(mdlWks,'myVar',5.12)

新しい値 7.22 を適用します。これを行うには、最初に関数 getVariable を使用して変数の一時コピーを作成します。次に、コピーを変更し、それを使用してモデル ワークスペースの基の変数を上書きします。

temp = getVariable(mdlWks,'myVar');
temp = 7.22;
assignin(mdlWks,'myVar',temp)

変数の値をクエリして、新しい値を確認します。

getVariable(mdlWks,'myVar')
ans =

    7.2200

R2006a より前に導入