文档

使用coder.const外部函数调用

你可以用coder.const在生成的代码中将函数调用折叠成常量。代码生成器计算函数调用并将其替换为计算结果。如果您使函数调用是外在的,则函数调用由MATLAB计算®而不是代码生成器。使用coder.const使用外部函数调用:

  • 减少代码生成时间,特别是对于计算密集型表达式的常量折叠。

  • 力恒定折叠时coder.const是无法不断折叠的。

要使单个函数调用外在的,使用函数宏指令。要使对特定函数的所有调用都是外部的,请使用coder.extrinsic

通过使用减少代码生成时间coder.const函数宏指令

考虑这个折叠计算密集型表达式的函数zTable besselj (3)变成常数:

函数j = fcn(z) zTable = coder.const(0:01:100);jTable = coder.const(besselj(3,zTable));j = interp1(zTable,jTable,z);结束

使代码生成fcn快,评估zTable besselj (3)在MATLAB中使用函数宏指令

函数j = fcn(z) zTable = coder.const(0:01:100);jTable = coder.const(feval())“besselj”3 zTable));j = interp1(zTable,jTable,z);结束

使用coder.const强制常量折叠coder.feval

考虑这个折叠函数调用的函数兰特(1100)变成常数。

函数y = coder.const(rand(1,100));Yi = interp1(y,xi);结束

代码生成以一个错误结束。

codegenfcnarg游戏{0}配置:自由报告
? ?编码器的输入。Const不能简化为常数。

成功地不断折叠兰特(1100),在MATLAB中用函数宏指令

函数y = coder.const(feval())“兰德”, 1100));Yi = interp1(y,xi);结束

另请参阅

|

相关的话题

这个话题有帮助吗?