最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

coder.OutputType

入力の型として指定するエントリポイント関数からの出力の型

説明

coder.OutputType オブジェクトは、エントリポイント関数出力変数の型を表します。coder.OutputType を使用して、別のエントリポイント関数の入力を指定します。codegen -args オプションを使用して入力を渡します。生成された MEX 関数に入力として coder.OutputType オブジェクトを渡さないでください。

作成

説明

t = coder.OutputType(func) は、coder.OutputType クラスから派生されたオブジェクトを作成して、エントリポイント関数 func の最初の出力を表します。

t = coder.OutputType(func,n) は、coder.OutputType クラスから派生されたオブジェクトを作成して、エントリポイント関数 funcn 番目の出力を表します。

入力引数

すべて展開する

出力の型の定義元となるエントリポイント関数の名前。

例: coder.OutputType('myConstructor')

対応するエントリポイント関数の n 番目の出力変数を示すインデックス。

例: coder.OutputType('myFnWithTwoOutputs',1)

例: coder.OutputType('myFnWithTwoOutputs',2)

プロパティ

すべて展開する

出力の型が派生したエントリポイント関数の名前。

出力の型の派生元エントリポイント関数のインデックス。

すべて折りたたむ

可変サイズの string 入力で機能する関数 useString があるとします。可変サイズ string のコンストラクター関数を記述します。coder.OutputType を使用して、出力を useString に入力として渡します。

入力 string で演算を実行する MATLAB® 関数 useString を記述します。

function y = useString(x)
%#codegen
y = replace(x,"be","not be");
end

可変サイズの入力を作成するには、コンストラクター関数を記述します。

function str = myConstructor(charArr)
%#codegen
str = string(charArr);

コードを生成するには、構築関数の入力型を指定します。coder.typeof を使用して可変サイズの文字ベクトルを宣言します。coder.OutputType を使用して、コンストラクター関数の出力の型を、string 演算関数の入力の型として表します。

% get type of var-size char array bounded as 1-by-100
t = coder.typeof('a', [1 100], [0 1]); 
% get output type
v = coder.OutputType('myConstructor');
% generate MEX function
codegen myConstructor -args {t} useString -args {v} -report -config:mex

MATLAB で MEX 関数を呼び出して生成されたコードをテストします。

a = myConstructor_mex('myConstructor','To be, or not to be.')
b = myConstructor_mex('useString',a)
a = 
    "To be, or not to be."
b = 
    "To not be, or not to not be."

制限

  • 構造体、セルのフィールドまたは配列では coder.OutputType を使用できません。

R2018b で導入