Main Content

setVariablePart

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

説明

varValue = setVariablePart(mdlWks,varName.Property, varValue) は、Simulink.ModelWorkspace オブジェクト mdlWks で表されるモデル ワークスペースの MATLAB 変数プロパティ varName.PropertyvarValue を代入します。

モデル ワークスペース内の変数プロパティを代入するには、evalin よりも、setVariablePart を使用することが推奨されます。これは、関数 setVariablePart は、新しい変数を作成せず、また予期しない結果を引き起こすことがないためです。

すべて折りたたむ

モデル例 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); 

構造体フィールドに新しい値を代入します。

setVariablePart(mdlWks,'myStruct.a', 2);
setVariablePart(mdlWks,'myStruct.b{1}', 2);
setVariablePart(mdlWks,'myStruct.c', Simulink.Parameter(2));

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

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

入力引数

すべて折りたたむ

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

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

例: 'myVariable.Property'

データ型: char | string

値プロパティに代入する値。有効な値として指定します。たとえば、数値リテラル、構造体、または有効な値に評価される式を指定できます。

Simulink.Parameter オブジェクトなどのハンドル オブジェクトの名前を指定する場合は、関数 copy を使用してオブジェクトの個別のコピーを作成します。

例: 5.12

例: struct('a',5.12,'b',7.22)

例: Simulink.Parameter(5.12)

例: copy(myExistingParameterObject)

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | struct | table | cell | categorical | datetime | duration | calendarDuration | fi
複素数のサポート: あり

バージョン履歴

R2018b で導入