ccode
シンボリック式の C コード表現
説明
ccode(
は、1 つ以上の f
,Name,Value
)Name,Value
引数のペアによって指定された追加オプションを使用します。
例
シンボリック式からの C コードの生成
シンボリック式 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;'
最適化された C コードとコメントのファイルへの書き込み
File
オプションを指定して、C コードをファイル ccodetest.c
に書き込みます。ファイルへの書き込みの際に、ccode
は t0
、t1
といった名前の中間変数を使用してコードを最適化します。
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;
入力引数
f
— シンボリック入力
シンボリック式
シンボリック入力。シンボリック式として指定します。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は関係ありません。
R2021a より前では、コンマを使用して名前と値の各ペアを区切り、Name
を引用符で囲みます。
例: ccode(x^2,'File','ccode.c','Comments','V1.2')
File
— 書き込みファイル
文字ベクトル | string
書き込みファイル。文字ベクトルまたは string として指定します。ファイルへの書き込みの際に、ccode
は t0
、t1
といった名前の中間変数を使用してコードを最適化します。
Comments
— ファイル ヘッダーに含めるコメント
文字ベクトル | 文字ベクトルの cell 配列 | string ベクトル
ファイル ヘッダーに含めるコメント。文字ベクトル、文字ベクトルの cell 配列、または string ベクトルとして指定します。ccode
はブロックコメントを使用するため、コメントには /*
または */
を含めないでください。
ヒント
シンボリック式から最適化された C コードまたは C++ コードを生成するには、特に大きな式の場合、関数
ccode
を使用する代わりに MATLAB® Coder™ アプリを使用できます。この方法により、生成されたコードはより適切に MATLAB エコシステムに統合されます。まず、matlabFunction
を使用して、シンボリック式を展開可能な MATLAB 関数に変換します。次に、MATLAB Coder アプリを使用して MATLAB 関数から C コードまたは C++ コードを生成します。例については、MATLAB Coder アプリを使用した、シンボリック式からの C コードの生成を参照してください。
バージョン履歴
R2006a より前に導入
参考
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)