Main Content

コード生成のための変数の定義

MATLAB® では、実行時に変数のプロパティを動的に変更することができるので、同じ変数を使って任意のクラス、サイズ、実数/複素数の値を格納できます。たとえば、MATLAB では次のようなコードが機能します。

function x = foo(c) %#codegen
if(c>0)
  x = 0;
else
  x = [1 2 3];
end
disp(x);
end 

しかし、C 言語のような静的に型を使用する言語では、コンパイル時に変数のプロパティを判定できなければなりません。そのため、C/C++ コードを生成するときに、MATLAB ソース コード内の変数のクラス、サイズ、実数/複素数を明示的に定義してからそれらを使用しなければなりません。たとえば、上記のソース コードは、x の定義を加えて次のように書き直します。

function x = foo(c) %#codegen
x = zeros(1,3);
if(c>0)
  x = 0;
else
  x = [1 2 3];
end
disp(x);
end 

関連するトピック