MATLAB函数

包括MATLAB生成可嵌入C代码的模型中的代码

  • 库:
  • 金宝appSimulink /用户定义函数

    HDL编码器/用户定义函数

  • MATLAB功能块

描述

与一个MATLAB函数块,你可以写一个MATLAB®在Simulink中使用的函数金宝app®模型。MATLAB函数创建仿真和执行的生成代码金宝appSimulink的编码器™目标。如果您是Simulink和MATLAB产品的金宝app新手,请参阅下载188bet金宝搏使用块实现MATLAB函数创建自定义功能的MATLAB使用功能块的概述。

双击MATLAB函数块打开它的编辑器,在这里您编写MATLAB函数,如下例所示:

要了解更多有关这个编辑器,请参阅MATLAB函数块编辑器

对象的输入和输出数据MATLAB函数块在函数头中作为参数和返回值。类中的块的输入和输出与上述示例函数的参数和返回值对应模型:

您还可以使用端口和数据管理器定义数据、输入触发器和函数调用输出,您可以通过选择从MATLAB函数块编辑器访问这些端口和数据管理器编辑数据。看到端口和数据管理器

MATLAB函数块根据确定每个变量的大小、类和复杂性的分析生成高效的可嵌入代码。这种分析施加了下列限制:

除了语言的限制,MATLAB函数块支持MAT金宝appLAB中可用函数的一个子集。中给出了支持的函数列金宝app表C/ c++代码生成支持的函数和对象金宝app。这些函数包括共同类别的函数,例如:

请注意

虽然该块尝试的代码产生完全相同的结果MATLAB,差异可能会出现由于舍入误差。这些数值的差异,这可能是几每股收益最初,可放大后反复操作。对…行为的依赖不推荐。不同的C编译器可以为相同的计算产生不同的结果。

请注意

MATLAB函数块,则% # codegen包含指令是为了强调block的MATLAB算法总是用于代码生成。的% # codegen指令,或没有它,不会改变错误检查行为在上下文中MATLAB函数块。有关更多信息,请参见编译指令% # codegen

为了支金宝app持数据的可视化,可以使用MATLAB函数块支持对MA金宝appTLAB函数的调用,仅用于模拟。看到非本征函数了解一些这方面能力的局限,以及它如何与这个块代码分析集成。如果这些函数调用不直接影响任何Simulink的输入或输出,来电不显示金宝app金宝appSimulink的编码器生成的代码。

MATLAB函数块,你也可以调用在定义的函数金宝app仿真软件的功能块。你可以打电话给Stateflow®功能与出口表层次功能(使全球)允许导出的函数被Simulink调用金宝app在图表属性对话框中选中。

在端口和数据管理器中,可以将块输入声明为Simulink参数,而不是端口。金宝app的MATLAB函数块还支持输入、输出和参金宝app数的类型和大小的继承。您还可以显式地指定这些属性。看到类型函数参数,大小函数参数,添加参数参数中使用的变量的描述MATLAB函数块。

不允许递归调用MATLAB函数块。

默认,MATLAB函数块启用直接馈通。要禁用它,在端口和数据管理器,清除允许直接引线复选框。非直接馈通语义确保输出仅依赖于当前状态。使用非直接馈通使您能够使用MATLAB函数在反馈回路块,防止代数循环。有关更多信息,请参见在MATLAB函数块中使用非直接馈通

端口

输入

展开全部

输入对应于内部的函数的第一个输入参数MATLAB函数块。如果在编辑器中重命名函数参数,则块相应地重命名端口。

类内的Simulink金宝app模型和函数之间不能传递MATLAB支持但不被Simulink支持的数据类型金宝appMATLAB函数块。类中可以使用这些类型MATLAB函数块。

有关此块的定点支持的详细信息,请参阅金宝app定点数据类型与MATLAB功能块(定点设计师)MATLAB函数块与数据类型覆盖(定点设计师)

数据类型:||int8|INT16|INT32|Int64的|UINT8|UINT16|UINT32|uint64|布尔||不动点|枚举|公共汽车

n个输入参数在功能MATLAB函数块。当您在编辑器中添加参数时,该块会相应地添加端口。

类内的Simulink金宝app模型和函数之间不能传递MATLAB支持但不被Simulink支持的数据类型金宝appMATLAB函数块。类中可以使用这些类型MATLAB函数块。

有关此块的定点支持的详细信息,请参阅金宝app定点数据类型与MATLAB功能块(定点设计师)MATLAB函数块与数据类型覆盖(定点设计师)

数据类型:||int8|INT16|INT32|Int64的|UINT8|UINT16|UINT32|uint64|布尔||不动点|枚举|公共汽车

输出

展开全部

函数内部的第一个输出参数MATLAB函数块。如果在编辑器中重命名函数参数,则块相应地重命名端口。

数据类型:||int8|INT16|INT32|Int64的|UINT8|UINT16|UINT32|uint64|布尔||不动点|枚举|公共汽车

n函数内部的输出参数MATLAB函数块。当您在编辑器中添加参数时,该块会相应地添加端口。

数据类型:||int8|INT16|INT32|Int64的|UINT8|UINT16|UINT32|uint64|布尔||不动点|枚举|公共汽车

块特性

数据类型

布尔(一个]|公共汽车(一个]|(一个]|枚举(一个]|不动点(一个]|整数(一个]|(一个]|(一个]

直接引线

没有

多维信号

有限(一个]

可变大小信号

有限(一个]

讨论二阶导数过零检测

没有

(一个]实际的数据类型或功能支持取决于块实现。金宝app

扩展功能

PLC的代码生成
使用Simulink®PLC编码器™生成结构化文本代码。金宝app

介绍了R2011a