系统在MATLAB代码生成对象
你可以在MATLAB生成C / c++代码®从你的系统,包含系统对象使用MATLAB编码器™。您可以生成效率和紧凑的代码部署在桌面和嵌入式系统,加快定点算法。
使用规则和限制的系统对象生成代码
以下用法规则和限制在从MATLAB生成的代码中使用系统对象。
对象构造和初始化
如果对象存储在持久性变量,初始化系统对象一旦通过嵌入的对象句柄
如果
声明和调用isempty ()
。系统对象™的参数构造函数设置为编译时常量。
初始化所有系统对象的属性
releaseImpl
使用结束前setupImpl
。你不能初始化系统对象属性与其他MATLAB在代码生成类对象作为默认值。你必须在构造函数中初始化这些属性。
输入和输出
系统对象接受最多输入1024。每个输入支持最多8个维度。万博1manbetx
输入的数据类型不应改变。
输入的复杂性不应改变。
如果你想要输入的大小变化,验证支持启用适应。万博1manbetx代码生成支持适应可变数据也需要适万博1manbetx应支持启用。在MATLAB在默认情况下,启用支持适应可变万博1manbetx数据。
系统预定义的对象的软件不支持适应他们的数据是否超过万博1manbetx
DynamicMemoryAllocationThreshold
价值。不设置系统对象成为输出的MATLAB函数(万博1manbetx模型)块。
不使用的保存和恢复模拟操作点选择系统对象的吗MATLAB函数(万博1manbetx模型)块。
不通过系统对象例如输入参数的函数被编译
codegen
。不通过系统对象函数声明为外在(函数调用在解释模式)使用吗
coder.extrinsic
函数。系统从外部函数返回对象和范围自动成为外在的对象可以用作输入到另一个外部函数。但是,这些函数不生成代码。
属性
在MATLAB系统块,你不能使用适应离散状态系统对象的属性。私有财产可以适应。
对象不能被用作属性的默认值。
你可以只给nontunable属性赋值一次,包括在构造函数中赋值。
Nontunable属性值必须是常数。
定点输入,如果可调属性依赖数据类型属性,您可以设置可调属性只在施工时间或在对象被锁定。
为
getNumInputsImpl
和getNumOutputsImpl
方法,如果你设置返回参数从一个对象属性,该对象属性必须有Nontunable
属性。
全局变量
全局变量被允许在一个系统对象,除非您正在使用系统对象模型万博1manbetx®通过MATLAB系统块。看到为全局数据生成代码。
方法
只有代码生成支持这些系统对象的方万博1manbetx法:
得到
结束
(来源)集
(可调属性)
对于您定义的系统对象,只有代码生成支持这些方法:万博1manbetx
系统中对象codegen
您可以包括系统对象在MATLAB代码可以使用相同的方法包括任何其他元素。然后您可以从MATLAB代码编译一个墨西哥人文件使用codegen
如果你有一个命令,该命令是可用的MATLAB编码器许可证。这个编译过程,涉及到一系列的优化,对于加速模拟非常有用。看到开始使用MATLAB编码器和MATLAB类为更多的信息。
请注意
大部分,但不是全部,系统对象支持代码生成。万博1manbetx指特定对象的引用页面信息。
系统中的对象MATLAB功能块
使用MATLAB函数(万博1manbetx模型)块,您可以包括任何系统对象和MATLAB语言仿真软件模型中的函数。万博1manbetx这个模型可以生成可嵌入代码。系统对象提供更高级的算法代码生成比大多数块有关。有关更多信息,请参见实现MATLAB函数与MATLAB仿真软件的功能模块万博1manbetx(万博1manbetx模型)。
系统中的对象MATLAB系统阻止
使用MATLAB系统(万博1manbetx模型)块,可以包括在仿真软件模型中单个系统创建的对象的类定义文万博1manbetx件。该模型可以生成可嵌入代码。有关更多信息,请参见MATLAB系统块(万博1manbetx模型)。
系统对象和MATLAB编译器软件
MATLAB编译器™软件支持系统对象内万博1manbetx使用MATLAB函数。编译器产品不支持系统对象用于MATLAB脚本。万博1manbetx