Main Content

getVariable

モデルのモデル ワークスペース内の変数の値を返す

説明

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

ターゲット変数の値がハンドル オブジェクト (Simulink.Parameter など) へのハンドルである場合、getVariable はハンドルのコピーを返します。モデル ワークスペース内の変数または返される変数 (variableValue) に対する変更は両方の変数に影響します。

ハンドル オブジェクトのディープ コピーを返すには、オブジェクトの copy メソッドを使用します。モデル ワークスペースに格納するハンドル オブジェクトを変更するには、getVariable メソッドと assignin メソッドの両方を使用することをお勧めします (ハンドル オブジェクトのプロパティ値の変更を参照)。

すべて折りたたむ

モデル例 vdp を開きます。

open_system('vdp')

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

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

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

assignin(mdlWks,'myVar',5.12)

新しい変数の値を返します。varValue という名前の別の変数に値を格納します。

varValue = getVariable(mdlWks,'myVar');

モデル mdl.slx に定義されている Simulink.Parameter オブジェクト K のプロパティを変更します。getVariable を呼び出す場合は、Simulink.Parameter がハンドル クラスであるため、copy メソッドを使用します。

wksp = get_param(mdl,'ModelWorkspace');
value = copy(getVariable(wksp,'K'));
value.DataType = 'single';
assignin(wksp,'K',value);

入力引数

すべて折りたたむ

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

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

例: 'myVariable'

データ型: char

出力引数

すべて折りたたむ

ターゲットの変数の値。数値、構造体、またはその他の MATLAB 値として返されます。

バージョン履歴

R2012a で導入