主要内容

状态和转换的语法

使用动作和条件表示图表行为

控制Stateflow的执行®通过指定何时发生状态之间的转换以及何时执行操作来绘制图表。通过广播事件同步状态执行。检测数据值的变化,并检查图表执行期间哪些状态是活动的。

阻碍

全部展开

图表 用有限状态机实现控制逻辑
状态转换表 以表格形式表示模态逻辑
真值表 用条件、决策和行动表示逻辑决策行为

状态流语法

全部展开

变化检测

改变 数据更改值时生成隐式事件
变了 检测自上次时间步骤以来的数据变化
hasChangedFrom 检测来自指定值的数据变化
hasChangedTo 检测数据到指定值的变化

边缘检测

十字路口 检测自上次时间步长以来数据的上升或下降边
坠落 检测自上一时间步以来数据中的下降沿
上升 检测自上次时间步长的数据上升边

消息活动

丢弃 丢弃消息
向前地 转发消息
isvalid 确定消息是否有效
长度 确定消息队列的长度
收到 从队列中提取消息
邮寄 广播消息或事件

国家活动

进来 当状态变为活动状态时生成隐式事件
出口 当状态变为非活动状态时生成隐式事件
在里面 检查状态活动Stateflow

创建、连接和转换字符串数据

ascii2str 转换类型数组uint8字符串
空白 创建一个空格字符数组
双重的 将字符串转换为双精度值
胰岛移植 确定哪些字符是字母
isspace 确定哪些字符是空格字符
str2ascii 转换字符串类型的数组uint8
str2double 将字符串转换为双精度值
strcat 连接字符串
字符串比较函数 比较字符串
字符串 创建一个字符串
tostring 将数值转换为字符串

确定字符串数据的类型和属性

胰岛移植 确定哪些字符是字母
isspace 确定哪些字符是空格字符
isstring 确定输入是否为字符串
strlen 确定字符串的长度
strlength 弦长

查找和替换字符串数据

包含 确定pattern是否在字符串中
endsWith 确定字符串是否以模式结尾
比赛 确定模式是否匹配字符串
代替 查找并替换一个或多个子字符串
替代者 替换起点和终点之间的子字符串
startsWith 确定字符串是否以pattern开头
strfind 在其他字符串中查找字符串
strrep 查找和替换子字符串

编辑字符串数据

擦除 删除字符串中的子字符串
擦掉 删除起始点和结束点之间的子字符串
extractAfter 在指定位置后提取子字符串
提取前 在指定位置之前提取子字符串
insertAfter 在指定的子字符串后插入字符串
方法 在指定的子字符串之前插入字符串
降低 将字符串转换为小写
附加字符串
颠倒 字符串中字符的逆序
拷贝字符串 分配字符串值
从字符串中删除前导和尾随字符
strtrim 从字符串中删除前导空格和尾随空格
substr 从字符串中提取子字符串
将字符串转换为大写

比较字符串数据

比赛 确定模式是否匹配字符串
字符串比较函数 比较字符串
strcmpi 比较字符串(不区分大小写)
strncmp 比较第一n字符串的字符(区分大小写)
strncmpi 比较第一n字符串的字符(不区分大小写)

时态逻辑

在事件广播或指定时间后执行图表
在事件广播或指定时间执行图表
之前 在事件广播或指定时间之前执行图表
在哪个条件有效的图表执行
持续时间 条件有效的时间
逝去 状态变为活动状态后的时间
每一个 定期执行图表
temporalCount 状态变为活动状态后的事件数、图表执行数或时间

主题

命名状态流对象的指南

保留关键字、名称长度限制和命名限制。

通过组合状态操作消除冗余代码

结合进入在期间出口状态中的动作。

使用绑定操作控制函数调用子系统

将函数调用输出事件绑定到状态的活动。

结合转换和连接来创建分支路径

在转换路径中创建决策点。

万博1manbetx支持图表数据操作

在状态流图中执行数学计算。

万博1manbetx行动中支持的符号

状态和转换操作可用的特殊符号。

在状态流程图中调用外部MATLAB函数

Access MATLAB®代码生成不支持的函数。万博1manbetx

在C图中访问MATLAB函数和工作空间数据

使用毫升操作人员

在C图中调用C库函数

访问状态和转换标签中的C函数。

使用in运算符检查状态活动

确定图表执行期间状态是否处于活动状态。

检测数据和表达式值的变化

定义数据和表达式在时间步间改变值时的图表行为。

用时序逻辑执行控制图

使用基于事件和绝对时间的时态逻辑运算符。

使用隐式事件控制图表行为

通过更改数据值和状态活动触发图表操作。

利用持续时间算子控制振荡

简化具有瞬态信号的图表中的去抖动逻辑。

特色的例子