文档

外部编码器

宣布外在功能

描述

实例

编码器.Extrinsic(功能)宣布功能作为外在功能。代码生成器不会为外在函数的主体生成代码,然后使用MATLAB®引擎执行呼叫。仅当MATLAB引擎在MEX函数中使用时,此功能才可用,Simulink金宝app®模拟,或在编译时调用期间。

在独立代码生成过程中,代码生成器尝试确定外部函数是否影响调用它的函数的输出,例如通过返回MX阵列输入到输出变量。如果输出没有变化,代码生成器继续生成代码,但从生成的代码中排除外部函数。否则,代码生成器将生成编译错误。

你不能使用Coder.CEVAL.在通过使用外部编码器.

外部编码器在代码生成之外被忽略。

外部编码器(函数1,…,函数n)宣布功能1通过函数作为外在功能。

编码器(“-同步:打开”,功能1,函数(n)在调用外部函数之前和之后,启用MATLAB和MEX函数之间的全局数据同步功能1通过函数. 如果只有少数外部调用使用或修改全局数据,请通过将全局同步模式设置为,在所有外部函数调用之前和之后关闭同步在MEX功能入口和出口. 使用“-同步:打开”选项仅打开同步,仅用于修改全局数据的外在呼叫。

看见为全局数据生成代码(MATLAB编码器)。

编码器(“-同步:关闭”,功能1,函数(n)在对外在功能之前和之后禁用MATLAB和MEX功能之间的全局数据同步功能1通过函数.如果大多数外在呼叫使用或修改全局数据,但少数人不,请使用“-同步:关闭”选项以关闭不修改全局数据的外在调用的同步。

看见为全局数据生成代码(MATLAB编码器)。

例子

全部崩溃

MATLAB函数色斑不支持代码生成金宝app。此示例显示如何仍然可以使用的功能色斑在生成的MEX函数中色斑作为MATLAB函数的外部变量。

此Matlab代码声明色斑作为本地功能的外在创建图. 宣布色斑作为外部,您指示代码生成器不会产生代码色斑. 相反,代码生成器进行调度色斑到MATLAB执行。

代码生成器自动处理许多常见的MATLAB可视化函数,例如作为外在的。

功能c=毕达哥拉斯(a、b、颜色)%#编码基因%计算直角三角形的斜边%并将三角形显示为面片对象。c=sqrt(a^2+b^2);创建_图(a、b、颜色);终止功能create_plot(a,b,颜色)%将补丁声明为外部补丁编码器.Extrinsic(“补丁”);x = [0; a; a];Y = [0; 0; b];补丁(x,y,颜色);轴('平等的');终止

为生成一个MEX函数毕达哥拉斯. 另外,生成代码生成报告。

编码基因-报告毕达哥拉斯-args{1,1,[.3 .3 .3]}

在报告中,查看的MATLAB代码创建图.

报告强调了色斑函数,指示它们被视为外部函数。

运行mex函数。

毕达哥拉斯(3,4[1.0.0]);

MATLAB将直角三角形的绘图显示为红色面片对象。

输入参数

全部崩溃

声明为外部的MATLAB函数的名称。

例子:编码器.Extrinsic('补丁')

数据类型:char

限制

  • 外部函数调用的开销可能会影响性能。在外部函数调用中传递的输入数据必须提供给MATLAB,这需要制作数据的副本。如果函数有任何输出数据,则必须将该数据传输回MEX函数环境,这也需要一份副本。

  • 代码生成器不支持使用金宝app外部编码器调用位于专用文件夹中的函数。

  • 代码生成器不支持使用金宝app外部编码器调用本地函数。

提示

  • 代码生成器自动处理许多常见的MATLAB可视化功能,例如情节,DISP., 和图形,作为外在的。您不必使用外部编码器.

  • 使用编码筛选器函数来检测哪些函数必须声明为外部函数。此函数运行代码生成准备工具,该工具可筛选MATLAB代码中不支持代码生成的功能和函数。金宝app

在R2011A介绍