Main Content

getMappingForSymbol

Atomic サブチャートまたはボックス内のシンボルのマッピングを取得

説明

chartSymbol = getMappingForSymbol(subchart,subchartSymbol) は、Atomic サブチャートまたはボックス subchart 内のシンボル subchartSymbol のマッピング先であるメイン チャート シンボルを返します。詳細については、Atomic サブチャートおよびボックスでの変数のマッピングを参照してください。

chartSymbol = getMappingForSymbol(subchart,subchartSymbolName) は、subchartSymbolName という名前のサブチャート シンボルのマッピング先であるメイン チャート シンボルを返します。

[chartSymbol,expression] = getMappingForSymbol(___) は、サブチャート シンボルのマッピング先であるメイン チャート シンボルと自明ではない式を返します。前述の構文のいずれかを使用して、サブチャート シンボルを指定します。

すべて折りたたむ

A という Atomic サブチャート内で、サブチャートの入力 u1 のマッピングを変更します。

モデル sf_atomic_iodata_fixed.slx を開きます。

openExample('stateflow/AtomicSubchartInOutDataExample', ...
    SupportingFile="sf_atomic_iodata_fixed.slx")

Atomic サブチャート AStateflow.AtomicSubchart オブジェクトにアクセスします。

subchart = find(sfroot,"-isa","Stateflow.AtomicSubchart",Name="A");

Subchart プロパティを使用して、サブチャートの入力 u1Stateflow.Data オブジェクトにアクセスします。

subchartSymbol = find(subchart.Subchart, ...
    "-isa","Stateflow.Data",Name="u1");

Chart プロパティを使用して、チャートの入力 u2Stateflow.Data オブジェクトにアクセスします。

chartSymbol = find(subchart.Chart, ...
    "-isa","Stateflow.Data",Name="u2");

サブチャートの入力 u1 のマッピングを取得します。

getMappingForSymbol(subchart,subchartSymbol).Name
ans =

    'u1'

サブチャートの入力 u1 をチャートの入力 u2 にマッピングします。

setMappingForSymbol(subchart,subchartSymbol,chartSymbol)
getMappingForSymbol(subchart,subchartSymbol).Name
ans =

    'u2'

サブチャートの入力 u1 のマッピングをクリアします。

clearMappingForSymbol(subchart,subchartSymbol)
getMappingForSymbol(subchart,subchartSymbol).Name
ans =

    'u1'

A という Atomic サブチャート内で、サブチャートの出力 y1 のマッピングを変更します。

モデル sf_atomic_iodata_fixed.slx を開きます。

openExample('stateflow/AtomicSubchartInOutDataExample', ...
    SupportingFile="sf_atomic_iodata_fixed.slx")

Atomic サブチャート AStateflow.AtomicSubchart オブジェクトにアクセスします。

subchart = find(sfroot,"-isa","Stateflow.AtomicSubchart",Name="A");

サブチャートの出力 y1 のマッピングを取得します。

getMappingForSymbol(subchart,"y1").Name
ans =

    'y1'

サブチャートの出力 y1 をチャートの出力 y2 にマッピングします。

setMappingForSymbol(subchart,"y1","y2")
getMappingForSymbol(subchart,"y1").Name
ans =

    'y2'

サブチャートの出力 y1 のマッピングをクリアします。

clearMappingForSymbol(subchart,"y1")
getMappingForSymbol(subchart,"y1").Name
ans =

    'y1'

A という Atomic サブチャート内で、パラメーター T がマッピングされている式を見つけます。

モデル sf_atomic_parameter_fixed.slx を開きます。

openExample('stateflow/AtomicSubchartParameterExample', ...
    SupportingFile="sf_atomic_parameter_fixed.slx")

Atomic サブチャート AStateflow.AtomicSubchart オブジェクトにアクセスします。

subchart = find(sfroot,"-isa","Stateflow.AtomicSubchart",Name="A");

Subchart プロパティを使用して、サブチャートのパラメーター TStateflow.Data オブジェクトにアクセスします。

subchartSymbol = find(subchart.Subchart, ...
    "-isa","Stateflow.Data",Name="T");

サブチャートのパラメーター T のマッピングを取得します。

[~,expression] = getMappingForSymbol(subchart,subchartSymbol)
expression =

    '-1'

入力引数

すべて折りたたむ

Atomic サブチャートまたはボックス。Stateflow.AtomicSubchart または Stateflow.AtomicBox オブジェクトとして指定します。

Atomic サブチャートまたはボックス内のシンボル。Stateflow.Data または Stateflow.Event オブジェクトとして指定します。

Atomic サブチャートまたはボックス内のシンボルの名前。string スカラーまたは文字ベクトルとして指定します。

出力引数

すべて折りたたむ

メイン チャート シンボル。Stateflow.Data オブジェクト、Stateflow.Event オブジェクト、または空の配列 [] として返されます。サブチャート シンボルが自明ではない式にマッピングされる場合、chartSymbol は空の配列です。

マッピング式。文字ベクトルとして返されます。この式で以下を指定できます。

  • Stateflow® 構造体のフィールド

  • ベクトルまたは行列の要素

  • 構造体のフィールドまたは行列のインデックスの任意の組み合わせ

サブチャート シンボルがメイン チャート シンボルにマッピングされる場合、expression は空の文字ベクトル '' です。

バージョン履歴

R2022b で導入