主要内容

带有表达式值的参数对象的代码生成

如在使用数学表达式设置变量值,可以设置a的值金宝app仿真软件。参数对象到涉及其他MATLAB的表达式®变量或参数对象。当您从使用这种参数对象的模型生成代码时,为了实现您的目标,请使用表中的信息。

目标 技术及更多信息

生成代码没有嵌入式编码器®

对于使用表达式的参数对象,应用可用的存储类(请参阅模型界面元素的C代码生成配置).

对于表达式中使用的参数对象,仅应用存储类汽车

生成定义全局变量的代码,并使用包含系统常量和其他宏的表达式初始化它(需要Embedded Coder)。

看到从系统常量或其他宏初始化参数值(嵌入式编码器)(嵌入式编码)

生成定义宏的代码,该宏的值是涉及其他宏的表达式(需要Embedded Coder)。

对于使用表达式的参数对象,在生成的代码中应用生成宏的存储类,例如定义(见宏定义(#define)(嵌入式编码)).

对于表达式中使用的参数对象,应用产生导入宏的存储类。例如,使用存储类ImportedDefine.外部代码必须定义这些宏。

注意事项和限制

  • 如果应用的存储类不是汽车对于依赖的参数对象(使用表达式作为其值),表达式中使用的参数对象必须使用其中之一汽车或者在生成的代码中生成宏的存储类。

  • 不能设置表示符号维的参数对象的值(请参阅在生成的代码中实现数组大小的维度变量(嵌入式编码))到一个表达式。

  • 使用Embedded Coder,可以生成保留表达式的代码,但仅用于静态初始化与依赖参数对象对应的全局变量或宏的值。请遵循表达式保存

表达式保存

如果希望Embedded Coder在生成的代码中保留表达式,请遵守这些限制和指导原则。

  • 依赖参数对象必须使用其他存储类汽车.例如,要生成一个全局变量并使用表达式初始化它,请使用ExportedGlobalExportToFile

  • 表达式中使用的参数对象必须:

    • 使用在生成的代码中产生宏的存储类,例如定义

    • 如果表达式使用运算符,则具有标量实值。

  • 表达式只能使用以下操作符(在MATLAB语法中):

    • 数学:+-

    • 关系:= =~ =<>< => =

  • 这些数据分类准则适用于:

    • 对于表达式中使用的参数对象,如果可能,请保留数据类型属性的默认值,汽车

      使用其他值汽车,则必须设置数据类型将表达式转换为相同值的对象的。否则,代码生成器不会保存表达式。

    • 如果希望在多个不同的表达式中使用一个参数对象,并且依赖的参数对象具有不同的数据类型,请保留数据类型属性的默认值,汽车.在生成的代码中,宏的值表示为浮点数(具有有效的数据类型)),代码通过对每个表达式的结果进行类型转换来初始化依赖参数。

另请参阅

相关的话题