Main Content

配列形式フラグ

MATLAB® Compiler™ のコンポーネントには、配列データを双方向に形式化する方法を制御するフラグがあります。一般的には、MATLAB 関数の意図する入力と出力に合うクライアント コードを、コンパイルされた COM オブジェクトの対応するメソッドを使用し、MATLAB から COM VARIANT への変換ルールおよびCOM VARIANT から MATLAB への変換ルールにリストされるルールに従って開発する必要があります。これが可能ではない場合もあります。たとえば、既存の MATLAB コードが Excel® のようなサードパーティ製品と共に使用されている場合などです。

以下の表は配列形式フラグを示しています。

配列形式フラグ

フラグ 説明

InputArrayFormat

入力配列に使用される配列形式化ルールを定義します。
入力配列は VARIANT 配列で、クライアントにより作成され、コンパイルされた COM オブジェクトでのメソッド呼び出しに入力パラメーターとして送られます。
このフラグに対して有効な値は mwArrayFormatAsIsmwArrayFormatMatrix および mwArrayFormatCell です。

mwArrayFormatAsIs は配列を変更せずにそのまま渡します。

mwArrayFormatMatrix (既定) はすべての配列を行列として形式化します。入力 VARIANTVT_ARRAY| type 型の場合 (type は任意の数値型)、このフラグは効果がありません。入力 VARIANTVT_VARIANT|VT_ARRAY 型の場合、配列内の VARIANT が調べられます。それらが単一値で型が同種である場合、cell 配列の代わりに適切な型の MATLAB 行列が生成されます。

mwArrayFormatCell はすべての配列を MATLAB cell 配列であると解釈します。

InputArrayIndFlag

InputArrayFormat フラグと共に使用される入力配列の間接参照レベルを設定します (入れ子配列、つまり自身が配列である VARIANTVARIANT 配列にのみ適用可能)。このフラグの既定値は 0 であり、InputArrayFormat フラグを最も外側の配列に適用します。このフラグが 0 より大きい場合、たとえば N に等しい場合、形式化ルールは N 番目の入れ子レベルにルールを適用します。

OutputArrayFormat

出力配列に使用される配列形式化ルールを定義します。出力配列は MATLAB 配列で、コンパイルされた COM オブジェクトにより作成され、メソッド呼び出しからクライアントへの出力パラメーターとして送られます。このフラグの値である mwArrayFormatAsIsmwArrayFormatMatrix および mwArrayFormatCell は対応する InputArrayFormat フラグの値と同じ動作をします。

OutputArrayIndFlag

(入れ子の cell 配列にのみ使用可能)。OutputArrayFormat フラグと共に使用される出力配列の間接参照レベル。このフラグは InputArrayIndFlag と同様に機能します。

AutoResizeOutput

(Excel 範囲にのみ使用可能)。メソッド呼び出しからのターゲット出力が Excel ワークシートのセル範囲で、出力配列のサイズと形状が呼び出しの時点で不明な場合、このフラグを True に設定すると、各 Excel 範囲が出力配列に合うようにサイズ変更されます。

TransposeOutput

このフラグを True に設定して出力引数を転置します。Excel から MATLAB Compiler のコンポーネントを呼び出すときに、MATLAB 関数が行ベクトルとして出力を返し、そのデータを列にする場合に役に立ちます。