主要内容

Matlab功能

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

  • 图书馆:
  • 金宝appSimulink /用户定义函数

    HDL编码器/用户定义的函数

  • MATLAB功能块

描述

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

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

要了解有关此编辑器的更多信息,请参见MATLAB函数块编辑器

您将输入和输出数据指定给Matlab功能函数标题中的块作为参数和返回值。前面示例函数的参数和返回值对应于块中的输入和输出模型

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

Matlab功能块基于确定每个变量的大小、类和复杂性的分析生成有效的可嵌入代码。这种分析施加了以下限制:

除了语言限制,Matlab功能块支持Mat金宝applab中可用的功能的子集。提供了支持的功能列表金宝appC/ c++代码生成支持的函数和对象金宝app.这些职能包括一般类别的职能,例如:

笔记

尽管此块的代码试图产生与MATLAB完全相同的结果,但由于舍入错误,可能会出现差异。这些数字上的差异,可能是很少的eps.最初,经过反复操作后可以放大。依赖的行为不推荐。对于相同的计算,不同的C编译器可以产生不同的结果。

笔记

Matlab功能块,% # codegen包括指令以强调块的Matlab算法始终用于代码生成。这% # codegen指令或没有它,不会在上下文中更改错误检查行为Matlab功能块。有关更多信息,请参见编译指令%#codegen

支持数金宝app据的可视化,Matlab功能块只支持对M金宝appATLAB函数的仿真调用。看使用MATLAB引擎在生成的代码中执行函数调用了解此功能的一些限制,以及它如何与此块的代码分析集成。如果这些函数调用不直接影响任何Simulink的输入或输出,则调用不会出现在金宝app金宝app仿真软件编码器生成的代码。

Matlab功能块中定义的函数,也可以调用金宝appSimulink功能块。您可以调用StateFlow®功能与导出图表级功能(Make Global)允许通过Simulink调用导出的函数金宝app选中图表属性对话框中的。

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

不允许递归调用Matlab功能块。

默认情况下,Matlab功能块具有直接馈通功能。要禁用它,在端口和数据管理器中,清除允许直接喂水复选框。非直接馈通语义确保输出仅依赖于当前状态。使用非直接馈通使您能够使用Matlab功能阻塞反馈回路,防止代数回路。有关更多信息,请参见在Matlab功能块中使用Nondirect馈通

港口

输入

全部展开

函数中的第一个输入参数对应的Matlab功能块。如果在编辑器中重命名函数参数,则块会相应地重命名端口。

MATLAB支持但Si金宝appmulink不支持的数据类型可能不会在Simulink模型和函数之间传递金宝appMatlab功能块。这些类型可以在Matlab功能块。

有关此块的定点支持的更多信息,请参见金宝app用MATLAB函数块的定点数据类型(定点设计师)MATLAB功能块具有数据类型覆盖(定点设计师)

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|字符串|不动点|枚举|公共汽车

N中的函数的输入参数Matlab功能块。在编辑器中添加参数时,块会相应地添加端口。

MATLAB支持但Si金宝appmulink不支持的数据类型可能不会在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®PLCCoder™生成结构化文本代码。金宝app

在R2011A介绍