主要内容

ccode

C代码表示符号表达式

描述

例子

ccode (f返回符号表达式的C代码f

例子

ccode (f,名称,值使用一个或多个指定的附加选项名称,值对参数。

例子

全部折叠

从符号表达式生成C代码日志(1 + x)

Syms x f = log(1+x);ccode (f)
Ans = ' t0 = log(x+1.0);'

生成3 × 3希尔伯特矩阵的C代码。

H =符号(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代码只初始化非零元素,所以可以通过将所有元素设置为来有效地初始化数组0直接在你的C代码中。然后,使用生成的C代码只初始化非零元素。这种方法能够有效地初始化矩阵,特别是稀疏矩阵。

初始化3 × 3单位矩阵。首先将所有元素设置为初始化矩阵0在你的C代码。然后使用生成的C代码初始化非零值。

I3 =符号(眼(3));I3code = ccode (I3)
I3code = ' I3[0][0] = 1.0;I3 [1] [1] = 1.0;I3[2][2] = 1.0;”

向文件中写入C代码ccodetest.c通过指定文件选择。当写入文件时,ccode通过使用中间变量来优化代码t0,t1,等等。

Syms x f = diff(tan(x));ccode (f,“文件”,“ccodetest.c”)
t0 =战俘(tan (x), 2.0) + 1.0;

包括发表评论版本:1.1在文件中使用评论选择。ccode使用注释块。

ccode (f,‘文件’,‘ccodetest.c’,‘评论’,版本:1.1)
/*版本:1.1 */ t0 = pow(tan(x),2.0)+1.0;

输入参数

全部折叠

符号输入,指定为符号表达式。

名称-值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:ccode (x ^ 2,‘文件’,‘ccode.c’,‘评论’,‘V1.2’)

要写入的文件,指定为字符向量或字符串。当写入文件时,ccode通过使用中间变量来优化代码t0,t1,等等。

要包含在文件头中的注释、指定为字符向量、字符向量单元格数组或字符串向量。因为ccode使用块注释,注释必须不包含/**/

提示

  • 要从符号表达式生成优化的C或c++代码,特别是对于大型表达式,可以使用MATLAB®编码器™应用程序,而不是使用ccode函数。这样,生成的代码可以更好地集成到MATLAB生态系统中。首先,使用符号表达式转换为可部署的MATLAB函数matlabFunction.然后,使用MATLAB函数生成C或c++代码MATLAB编码器例如,请参见使用MATLAB编码器应用程序从符号表达式生成C代码

之前介绍过的R2006a