主要内容

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

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

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

将C代码写入文件ccodetest.c通过指定文件选择。写入文件时,ccode通过使用命名的中间变量优化代码t0t1等等。

Syms x f = diff(tan(x));ccode (f,“文件”,“ccodetest.c”)
T0 = pow(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,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

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

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

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

提示

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

版本历史

R2006a之前介绍