Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

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

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

たとえば、MATLAB Function ブロックへのバス信号の付加で説明されている emldemo_bus_struct モデルの中では、 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 の値

関連する例

詳細