主要内容

MATLAB和C之间的差异作为动作语言的语法

Stateflow®图表在仿真软件金宝app®模型有一个动作语言属性定义的语法状态和转换操作。一个图标左下角的图画布显示图表的动作语言。

  • MATLAB®作为动作语言。

  • C作为动作语言。

MATLAB是默认动作语言语法新Stateflow图表。创建一个表,使用C作为动作语言,输入:

sfnew- c

比较功能的语言

此表列出了最重要的两种动作语言之间的功能差异。

功能 MATLAB作为动作语言 C作为动作语言

向量和矩阵索引

从索引由括号和逗号分隔开的。例如,(4、5)。看到Stateflow向量和矩阵的操作

使用方括号分隔的从零开始的索引。例如,一个[3][4]。看到Stateflow向量和矩阵的操作

C结构:

  • 递增和递减运算+ +一个,

  • 赋值操作+ = b,a - b =,* = b,a / b =

  • 评估操作一个= b !!

  • 二元运算% % b,a > >,< < b,a和b,a |

  • 注释标记/ // * * /

MATLAB语法自动校对功能。例如,+ +是纠正= + 1。看到使用MATLAB作为行动语言时自动更正

金宝app支持。看到Stateflow数据的操作

条件和循环控制语句在国家行动

金宝app支持。例如,您可以使用如果,,语句在国家行动。看到循环和条件语句

不受支持金宝app的。条件和循环模式,使用图形化的函数。看到重用逻辑模式通过定义图形功能

格式的转换操作

自动校对功能包含过渡行为与括号{}。看到转换操作

不需要附上过渡行为与括号{}。看到转换操作

订购的平行状态

明确的命令。看到执行顺序为平行状态

显式或隐式排序。看到执行顺序为平行状态

适应数据

修改适应图表中的数据状态和转换操作。有关更多信息,请参见适应可变数据图表,使用MATLAB作为行动的语言

修改适应图表数据通过使用:

  • MATLAB函数

  • 金宝app仿真软件的功能

  • 真值表,使用MATLAB作为行动的语言

计算与适应所有数据必须发生在这些功能,而不是直接在状态或转换。有关更多信息,请参见适应可变数据图表,使用C作为行动的语言

定点结构:

  • 特殊的赋值运算符:=

  • 上下文敏感的常数等4.3摄氏度

不受支持金宝app的。

金宝app支持。看到在C图覆盖定点推广定点上下文相关的常数

复杂的数据

使用复数表示法a + bi或者是复杂的操作符。看到在Stateflow操作复杂的数据

使用复杂的操作符。不支持复数表示法。金宝app看到在Stateflow操作复杂的数据

数据类型传播

遵循MATLAB输入规则。例如,添加数据的类型数据类型的int32结果的数据类型int32

遵循C输入规则。例如,添加数据的类型数据类型的int32结果的数据类型

显式类型转换操作

使用其中一种铸造形式:

  • MATLAB类型转换函数。例如,单(x)

  • 函数类型的关键字。例如,铸造(x,“int8”)

  • 函数与“喜欢”关键字。例如,铸造(x,“喜欢”,z)

类型运营商不支持。金宝app看到类型转换操作

使用其中一种铸造形式:

  • MATLAB类型转换函数。例如,uint16 (x)

  • 函数与类型操作符。例如,铸造(x,类型(z))

类型的关键字不支持的功能。金宝app看到类型转换操作

标量扩张

不受支持金宝app的。

金宝app支持。看到赋值矩阵的所有元素
字符串数据

使用双引号()作为分隔符。看到通过使用字符串管理文本信息

使用双()或单引号()作为分隔符。看到通过使用字符串管理文本信息

规范的数据属性:

  • 第一个索引

  • 终值保存到基地的工作区

  • 单位

不受支持金宝app的。

金宝app支持。有关更多信息,请参见:

图形数据的范围、真值表和MATLAB函数

常数,参数,输入,输出 当地的,常数,参数,输入,输出,临时

点符号用于指定州,本地数据,信息,和当地事件在MATLAB函数

金宝app支持。看到通过使用点符号识别数据

不受支持金宝app的。

自定义代码函数和变量

行为取决于导入自定义代码配置参数。

  • 当你使导入自定义代码,支持自定义代码函数和变量的状态和转换(默认)。金宝app

  • 当你关闭导入自定义代码,仅支持自定义代码的功能。金宝app使用coder.ceval(MATLAB编码器)函数。

看到重用定制代码Stateflow图表导入自定义代码(金宝app模型)

支持自定义代码函数和变量的状态和转换。金宝app

结构参数

支持可调和nontunable参数。金宝app

只支持可调参数。金宝app

使用全球fimath对象

金宝app支持。

不受支持金宝app的。

使用MATLAB作为行动指南的语言

使用从索引向量和矩阵

从索引与MATLAB相一致的语法。有关更多信息,请参见索引符号

使用圆括号代替方括号索引向量和矩阵

这个声明是有效的:

(2、5)= 0;

这个声明是无效的:

一个[2][5]= 0;

有关更多信息,请参见索引符号

使用MATLAB格式的评论

使用%指定的评论与MATLAB状态和转换的一致性。例如,下面的评论是有效的:

%,这是一个有效的评论风格的MATLAB

C风格的评论,等/ // * * /自动更正功能使用%。

附上过渡行为与括号

这种转变标签包含一个有效的过渡行动:

E (x > 0) / {x = x + 1;}

这种转变标签不正确,但自动更正功能有效的语法。

E (x > 0) / x = x + 1;

不要使用控制流逻辑条件的行动和过渡的行为

(如控制流逻辑如果,开关,,语句)只支持在国家行动。金宝app使用控制流逻辑条件的行为或过渡动作,导致语法错误。

不声明全局或持续性变量状态的行为

关键字全球持续的不支持政府的行动金宝app。

为本地和输出数据分配一个初始值

当使用MATLAB作为动作语言,数据读没有初始值会导致一个错误。

包括一个类型前缀枚举值的标识符

标识符TrafficColors.Red是有效的,但红色的不是。

从模型生成代码,使用MATLAB语言特性支持代码生成金宝app

否则,使用coder.extrinsic电话不支持的功能,使金宝app你想要模拟的功能,但不是在生成的代码中。一个支持的特性和功能列表,请金宝app参阅语言中,函数和对象的支持金宝app(金宝app模型)

另请参阅

相关的话题