在Rhapsody中,在创建类之后,可以创建该类的许多相似对象(实例)。
在matlab的stateflow工具中,我们可以创建一个状态,据我所知,这是一个对象。
是否有可能在matlab的stateflow工具中使用状态作为类并创建其中的一个或多个对象?
发布于 2016-06-10 13:12:02
我不知道这是否是您所要求的,但是是的,您可以从stateflow类创建对象。
据我所知,stateflow有很多类。例如,状态流状态,状态流连接,状态流函数。
单击以创建新状态时,将创建状态类的新对象。要以编程的方式执行此操作,您必须首先获得状态流对象的句柄(例如,这可以是一个完整的状态流图或状态流图)。
要获得这个句柄,您可以使用sfgco函数-该函数获取当前被选中的状态流对象的句柄(如果没有选择,则获取状态流图表对象的句柄)。
若要创建类的新对象,该类的父对象具有句柄的状态流对象,您可以使用如下所示:
创建一个新的Stateflow状态:
state = sfgco;
newState = Stateflow.State(state); %this creates a state inside the stateflow object selected by sfgco.有关更多信息,请查看Stateflow API pdf文件。
发布于 2011-09-09 14:16:44
Stateflow图表通常在Simulink中使用,驻留在S-函数中( Simulink中的块具有时间相关的输入/输出)。然后,每个S-函数将是状态图的实例化。通常情况下,它们形成一个simulink模型,用线段连接块。虽然我认为它也可以动态地做到这一点,但这将远远超出工具预期使用的舒适区域。
我已经通过使用库将simulink (和stateflow块)与simulink模型解耦。我可以实例化其中的许多(以图形方式),并将它们与它们所在的模型分别更新。
发布于 2015-06-29 20:07:13
一个国家不是一个对象。当从Stateflow图表生成代码时,国家通常被表示为"switch“语句中的单个"case”。它们没有属性或方法,也不能实例化。
实际上,我不知道在Stateflow或Simulink中创建类是可能的。这两种工具都用于图形化地表示算法,而不是类、关系或其他(抽象)对象。
https://stackoverflow.com/questions/3652129
复制相似问题