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