Stateflow®图表在仿真软件金宝app®模型有一个动作语言属性,它定义状态和转换动作的语法。图表画布左下角的图标表示图表的操作语言。
MATLAB®作为行动语言。
C作为行动语言。
中可以更改图表的操作语言动作语言“图表属性”对话框中的。有关更多信息,请参见作为动作语言语法的MATLAB与C的区别.
MATLAB是新的状态流程图的默认操作语言语法。要创建一个使用C作为操作语言的图表,输入:
sfnew- c
要更改新图表的默认操作语言,请使用以下命令:
命令 | 结果 |
---|---|
sfpref(“ActionLanguage”、“MATLAB”) |
所有新创建的图表都使用MATLAB作为操作语言,除非在sfnew . |
sfpref(“ActionLanguage”、“C”) |
所有新创建的图表都使用C语言作为操作语言,除非在sfnew . |
有关更多信息,请参见sfpref
.
使用MATLAB作为动作语言的状态流程图自动将常见的C构造修正为MATLAB语法:
递增和递减操作,如+ +
和一个,
.例如,+ +
更改为= + 1
.
分配操作,例如+ = b
,a - b =
,* = b
,a / b =
.例如,+ = b
更改为一个= a + b
.
评估操作,如一个= b !
和!
.例如,一个= b !
更改为~ = b
.
注释标记//
和/ * * /
被改变了%
.
要禁用此首选项,可以使用sfpref
函数和以下命令:
sfpref (“EnableLabelAutoCorrectionForMAL”, 0)
sfpref
.
对于非空图表,当您将操作语言属性从C更改为MATLAB后,一个通知将出现在图表的顶部。通知提供了将C语法转换为MATLAB语法的选项。在通知中,单击链接以在图表中使用statflow转换语法。被转换的C语法结构包括:
从零开始的索引。
递增和递减操作,如+ +
和一个,
.例如,+ +
更改为= + 1
.
分配操作,例如+ = b
,a - b =
,* = b
,a / b =
.例如,+ = b
更改为一个= a + b
.
二进制操作,比如% % b
,一个> > b
,< < b
.例如,% % b
更改为快速眼动(a, b)
.
按位操作,例如a ^
,a和b
,a |
.例如,如果图表属性使c位操作被选中,然后a ^
更改为bitxor (a, b)
.
C风格的注释标记。例如,//
和/ * * /
被改变了%
.
如果图表包含不能转换到MATLAB的C构造,statflow会在对话框中显示一条消息。单击警告链接以在诊断查看器中显示警告。选择是否继续转换受支持的语法。金宝app未转换到MATLAB的C结构包括:
显式类型强制转换投
和类型
等运营商&
,*
和:=
自定义数据
使用访问工作区变量毫升
操作符
代码生成中不支持的函数金宝app
十六进制和单精度表示法
上下文相关的常数