主要内容

状态和转换的语法

通过使用动作和条件来表达图表行为

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

全部展开

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

Stateflow语法

全部展开

变化检测

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

边缘检测

穿越 检测自上次时间步长以来数据的上升或下降边
下降 检测自上次时间步骤以来的数据下降边
不断上升的 检测自上次时间步长的数据上升边

信息活动

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

国家活动

输入 当状态变为活动状态时生成隐式事件
退出 当状态变为非活动状态时生成隐式事件
检查状态活动Stateflow

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

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

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

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

查找和替换字符串数据

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

编辑字符串数据

擦除 删除字符串中的子字符串
eraseBetween 删除起始点和结束点之间的子字符串
extractAfter 在指定位置后提取子字符串
extractBefore 在指定位置之前提取子字符串
insertAfter 在指定的子字符串之后插入字符串
方法 在指定的子字符串之前插入字符串
较低的 将字符串转换为小写
+ 将字符串
反向 字符串中字符的顺序颠倒
拷贝字符串 指定字符串值
从字符串中删除前导和尾随字符
strtrim 删除字符串开头和末尾的空白
字符串的子串 从字符串中提取子字符串
将字符串转换为大写

比较字符串数据

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

时序逻辑

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

主题

命名状态流对象的指南

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

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

结合条目,退出状态中的动作。

通过使用绑定动作控制函数调用子系统

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

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

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

金宝app支持图表数据操作

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

金宝app操作中支持的符号

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

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

使用MATLAB®代码生成不支持的函数。金宝app

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

调用内置的MATLAB函数使用毫升操作符。

在C图中调用C库函数

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

使用内操作符检查状态活动

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

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

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

用时序逻辑执行控制图

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

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

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

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

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

特色的例子