如何根据某个值在Simulink Stateflow(状态图)中设置事件。我的意思是这个。 我有一个名为“选择”的变量。这个“选择”来自simulink块的输入。选择的值在1到4之间。所以我想做的就是:
if choice == 1 then trigger/set eventBlue
if choice == 2 then trigger/set eventRed
if choice == 3 then trigger/set eventWhite
if choice == 4 then trigger/set eventGreen
else trigger/set eventYellow
那我该怎么做?命令是什么?
答案 0 :(得分:1)
我建议你看一下州流媒体网络研讨会:http://www.mathworks.com/products/stateflow/。还有许多状态流示例可以帮助您了解如何使用库。查看此帮助网页: http://www.mathworks.com/help/stateflow/examples/index.html
很难确切地知道你想要做什么,但你可以画出指示状态变化的箭头,并添加一个检查变量选择值的函数。首先,您必须配置状态图以允许“选择”作为来自simulink的输入。定义状态并在箭头过渡中放置'[choice == 1]','[choice == 2]'等等(不带'')。
您应该获得这样的模型:
脉冲发生器配置为创建一系列0和1,以激活转换。
希望这有帮助,
答案 1 :(得分:1)
对于您所描述的问题,我建议您查看Stateflow中的inner transitions。使用内部转换,您可以避免使用[x==1]
等等条件创建从每个状态到每个其他状态的转换。
链接到的doc页面上的示例应该可以让您了解如何实现它。