Main Content

サブ構造体とフィールドのインデックス付け

MATLAB® での場合と同じように、ドット表記を使用して、MATLAB Function ブロックのサブ構造体とフィールドの構造体のインデックスを設定します。ただし、MATLAB からのコード生成に関しては、フィールドの値を個別に参照しなければなりません (コード生成のための構造体の定義を参照してください)。

たとえばMATLAB Function ブロックを使用したバスの読み書きの例では、MATLAB 関数によって、フィールドとサブ構造体のインデックス付けにドット表記が使用されています。

function [outbus, outbus1] = fcn(inbus)
%#codegen
substruct.a1 = inbus.ele3.a1;
substruct.a2 = int8([1 2;3 4]);

mystruct = struct('ele1',20.5,'ele2',single(100),
                  'ele3',substruct);

outbus = mystruct;
outbus.ele3.a2 = 2*(substruct.a2);

outbus1 = inbus.ele3;

次の表は、この例の中の構造体の要素のインデックス作成でコード生成ソフトウェアが、ドット表記内の記号をどう解釈するかを示します。

ドット表記記号の解釈
substruct.a1ローカル構造体 substruct のフィールド a1
inbus.ele3.a1構造体入力 inbus のサブ構造体のフィールド ele3 のフィールド a1 の値
inbus.ele3.a2(1,1)構造体入力 inbus のサブ構造体のフィールド ele3 のフィールド a2 の行 1、列 1 の値

関連する例

詳細