サブ構造体とフィールドのインデックス付け
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 の値 |