如果变量控制流量:如果,elseif,else
声明,或者切换,案例,否则
声明,将其声明为常量,以便仅对语句的一个分支进行代码生成。
根据控制流量变量的性质,您可以通过两种方式声明它作为常量:
如果变量是MATLAB的本地®函数,将其分配给MATLAB代码中的常量值。例如,看到局部变量控制流程时防止代码生成。
如果变量是MATLAB函数的输入,则可以将其声明为常数使用编码器.Constant.
。例如,看到输入变量控制流程时防止代码生成。
定义功能方形途电图
占用输入变量,在
以及基于选择变量的COMPESS,CH.
, 设定为S.
或者C
:
功能Out = Simeorcube(CH,IN)%#codegen.如果Ch ==.'出局=。^ 2;eleesifCh ==.'C'出局=。^ 3;别的出= 0;结尾
生成代码方形途电图
使用Codegen.
命令:
Codegen.-config:lib方形途电图- args.{'s',Zeros(2,2)}
基于输入的输入,生成的C代码正方形或二维矩阵的元素CH.
。
将以下行添加到定义方形途电图
:
ch =';
生成的C代码为2×2矩阵的元素平衡。选择变量,CH.
,以及其他分支机构如果/ elseif /如果
语句不会出现在生成的代码中。
定义功能Mathfunc.
,它对输入执行不同的数学操作,在
,取决于输入的值,旗帜
:
功能out = mathfunc(标志,in)%#codegen.%#codegen.转变旗帜案件1出=罪(IN);案件2出= cos(in);除此以外出局= sqrt(in);结尾
生成代码Mathfunc.
使用Codegen.
命令:
Codegen.-config:libMathfunc.- args.{1,零(2,2)}
生成的C代码基于输入的输入对2×2矩阵的元素执行不同的数学操作旗帜
。
生成代码Mathfunc.
,声明论点,旗帜
,作为常数使用编码器.Constant.
:
Codegen.-config:libMathfunc.- args.{编码器.Constant(1),零(2,2)}
生成的C代码找到了2×2矩阵的元素的正弦。变量,旗帜
,而且开关/案例/否则
语句不会出现在生成的代码中。