文档

coder.extrinsic

包:编码器

申报非本征函数或函数

语法

coder.extrinsic ('function_name”);

coder.extrinsic ('function_name_1”,……”,function_name_n”);

coder.extrinsic ('同步:”、“function_name”);

coder.extrinsic ('同步:”、“function_name_1”,……”,function_name_n”);

coder.extrinsic ('同步:了”、“function_name”);

coder.extrinsic ('同步:了”、“function_name_1”,……”,function_name_n”);

参数

function_name
function_name_1,……,function_name_n

声明function_namefunction_name_1通过function_name_n非本征函数。

同步:

function_namefunction_name_1通过function_name_n

使全球MATLAB之间数据的同步®和墨西哥人函数调用之前和之后的外在功能,function_namefunction_name_1通过function_name_n。如果只有少数外在调用修改全局数据,关闭所有非本征函数调用之前和之后同步全球同步模式通过设置在MEX-function出入境。使用同步:选择打开同步的外在要求修改全局数据。

持续的全球数据,使之间的一致性验证MATLAB和墨西哥人函数调用外部函数后,function_namefunction_name_1通过function_name_n

同步:了

禁用之间的全局数据同步MATLAB和墨西哥人函数调用之前和之后外在功能,function_namefunction_name_1通过function_name_n。如果大多数外部调用修改全局数据,但一些不这样做,你可以使用同步:了选择关闭同步的外在要求修改全局数据。

持续的全球数据,禁用验证MATLAB之间的一致性和墨西哥人函数调用外部函数后,function_namefunction_name_1通过function_name_n

描述

coder.extrinsic声明外在功能。在仿真过程中,代码生成器生成的代码调用一个外部函数,但不生成函数内部的代码。因此,模拟只能运行在MATLAB软件平台上的安装位置。在独立的代码生成,MATLAB试图确定外在影响的输出函数,称为——例如通过返回mxArrays一个输出变量。只要没有改变输出,MATLAB与代码生成收益,但不包括非本征函数生成的代码。否则,编译错误发生。

你不能使用coder.ceval在函数声明外部使用coder.extrinsic

coder.extrinsic忽略之外的代码生成。

限制

  • 非本征函数调用一些开销,如何影响性能。输入数据传入必须提供一个外部函数调用MATLAB,需要复制的数据。如果函数有任何输出数据,这些数据必须传输回墨西哥人功能的环境,也需要一个副本。

提示

  • 代码生成器检测调用许多常见的可视化功能,如情节,disp,。软件将这些函数像外在功能,但是你不需要声明它们外在的使用coder.extrinsic函数。

  • 使用coder.screener必须声明外部函数来检测功能。这个函数打开代码代准备工具,MATLAB代码检测代码生成问题。

例子

下面的代码声明了MATLAB函数补丁外在的MATLAB本地函数create_plot

函数c =毕达哥拉斯(a, b,颜色)% # codegen %计算一个直角三角形的斜边%并显示三角形作为补丁对象。c =√a ^ 2 + ^ 2);create_plot (a, b,颜色);函数create_plot (a, b,颜色)%宣布补丁为外在coder.extrinsic(“补丁”);x = [0;;];y = (0, 0; b);补丁(x, y,颜色);轴(“平等”);

通过声明补丁作为外在,你指导代码生成器不编译或产生代码补丁。相反,代码生成器分派补丁为执行MATLAB。

介绍了R2011a

这个主题有帮助吗?