ドキュメンテーション

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

ccode

シンボリック式の C コード表現

説明

ccode(f) は、シンボリック式 f の C コードを返します。

ccode(f,Name,Value) は、1 つ以上の Name,Value 引数のペアによって指定された追加オプションを使用します。

すべて折りたたむ

シンボリック式 log(1+x) から C コードを生成します。

syms x
f = log(1+x);
ccode(f)
ans =
    '  t0 = log(x+1.0);'

3 行 3 列のヒルベルト行列を作成する C コードを生成します。

H = sym(hilb(3));
ccode(H)
ans =
    '  H[0][0] = 1.0;
       H[0][1] = 1.0/2.0;
       H[0][2] = 1.0/3.0;
       H[1][0] = 1.0/2.0;
       H[1][1] = 1.0/3.0;
       H[1][2] = 1.0/4.0;
       H[2][0] = 1.0/3.0;
       H[2][1] = 1.0/4.0;
       H[2][2] = 1.0/5.0;'

生成された C コードは非ゼロの要素のみを初期化するため、C コード内で配列の全要素を直接 0 に設定することで、効率的に初期化できます。したがって、生成された C コードを使用して非ゼロ要素のみを初期化します。この手法により行列、特にスパース行列が効率的に初期化できます。

3 行 3 列の単位行列を初期化します。まず、C コード内で全要素を 0 に設定して、行列を初期化します。次に、生成された C コードを使用して非ゼロの値のみを初期化します。

I3 = sym(eye(3));
I3code = ccode(I3)
I3code =
    '  I3[0][0] = 1.0;
       I3[1][1] = 1.0;
       I3[2][2] = 1.0;'

File オプションを指定して、C コードをファイル ccodetest.c に書き込みます。ファイルへの書き込みの際に、ccodet0t1 といった名前の中間変数を使用してコードを最適化します。

syms x
f = diff(tan(x));
ccode(f,'File','ccodetest.c')
  t0 = pow(tan(x),2.0)+1.0;

Comments オプションを使用して、ファイル内にコメント Version: 1.1 を含めます。ccode はブロック コメントを使用します。

ccode(f,'File','ccodetest.c','Comments','Version: 1.1')
  /*
  Version: 1.1
  */
  t0 = pow(tan(x),2.0)+1.0;

入力引数

すべて折りたたむ

シンボリック入力。シンボリック式として指定します。

名前と値のペアの引数

オプションの引数 Name,Value のコンマ区切りペアを指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を、任意の順番で指定できます。

例: ccode(x^2,'File','ccode.c','Comments','V1.2')

書き込みファイル。文字ベクトルまたは string として指定します。ファイルへの書き込みの際に、ccodet0t1 といった名前の中間変数を使用してコードを最適化します。

ファイル ヘッダーに含めるコメント。文字ベクトル、文字ベクトルの cell 配列、または string ベクトルとして指定します。ccode はブロックコメントを使用するため、コメントには /* または */ を含めないでください。

R2006a より前に導入