Main Content

getVariablePart

モデル ワークスペース内の変数プロパティの値を取得する

説明

varValue = getVariablePart(mdlWks,varName.Property) は、Simulink.ModelWorkspace オブジェクト mdlWks で表されるモデル ワークスペース内に存在する、名前が varName.Property の変数プロパティの値を返します。

変数プロパティの値がハンドル オブジェクト (Simulink.Parameter など) へのハンドルである場合、getVariablePart はハンドルのコピーを返します。

以下の理由により、モデル ワークスペースの変数プロパティを取得するには、evalin より getVariablePart を使用することが推奨されます。

  • この関数は、モデルを変更未保存 (ダーティ) にすることがない。

  • この関数を使用しても、新しい変数が作成されたり、その他の意図しない結果が起こることがない。

すべて折りたたむ

モデル例 vdp を開きます。

open_system('vdp')

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

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

フィールド abc を持つ myStruct という名前の構造体を作成します。

aStruct.a = 10;
aStruct.b = {1,2,3,4,5};
aStruct.c = Simulink.Parameter(7);
mdlWks.assignin('myStruct',aStruct); 

構造体フィールドの値を返します。varValueavarValuebvarValuec に値を格納します。

varValuea = getVariablePart(mdlWks,'myStruct.a');
varValueb = getVariablePart(mdlWks,'myStruct.b{1}');
varValueC = getVariablePart(mdlWks,'myStruct.c.Value');

入力引数

すべて折りたたむ

ターゲット モデル ワークスペース。Simulink.ModelWorkspace オブジェクトとして指定します。

ターゲット変数プロパティの名前。文字ベクトルとして指定します。

例: 'myVariable.Property'

データ型: char

出力引数

すべて折りたたむ

変数プロパティの値。数値、構造体、または他の MATLAB 値として返されます。

変数プロパティの値がハンドル オブジェクト (Simulink.Parameter など) へのハンドルである場合、getVariablePart はハンドルのコピーを返します。

バージョン履歴

R2018b で導入