里克•Boldt MathWorks
在这个视频中,我们使用状态流®以图形化的方式设计状态机和定时逻辑,这对于用MATLAB创建的Lamp应用程序来说很难实现®程序设计师。
您可以从MATLAB中创建一个独立的状态图,它存储为.sfx文件,并可以实例化为MATLAB对象用于应用程序。
这个灯逻辑状态图是应用程序设计器创建的应用程序的一部分。
请注意off状态的动画,表示它是活动的。关闭状态包含MATLAB代码,直接关闭灯,禁用模式和眨眼速度控件在GUI。
当我们在GUI中打开灯时,on事件被发送到状态流程图,导致状态机离开关闭状态并进入打开状态。这个状态有MATLAB代码来启用GUI中的模式和眨眼速度小部件。我们还可以看到子状态“固体”是活跃的,并且包含打开灯的代码。
在这里,我们可以看到在App Designer中编写的代码,用于生成在statflow图中使用的开和关事件。
该灯有两种操作模式:固态,它现在是,闪烁。选择闪烁模式将使灯开始闪烁。注意闪烁状态中的开和关状态之间的转换一直在发生。在这些状态下的MATLAB代码会打开或关闭GUI中的灯。
通过改变眨眼的速度,我们可以放慢或加快过渡之间的时间。这些转换是基于MATLAB计时器发生的,因为使用了after关键字而自动生成的。
这个例子展示了如何使用一个状态流图作为一个应用程序的一部分。然而,状态流图可以用来表示复杂的逻辑和任何MATLAB程序的状态机,而不需要编写深度嵌套的if-else或switch-case语句。
你也可以从以下列表中选择一个网站:
请选择表现最佳的中国网站(中文或英文)。MathWorks的其他国家网站并没有针对您所在位置的访问进行优化。