包括MATLAB生成可嵌入C代码的模型中的代码
金宝appSimulink /用户定义函数
HDL编码器/用户定义函数
与一个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函数块中使用非直接馈通。