在Rhapsody中 - 在創建類之後,可以創建該類的許多類似對象(實例)。matlab Stateflow vs. Rhapsody
在MATLAB的Stateflow的工具 - 一個可以創建一個狀態是,據我所知,一個對象。
是否有可能在matlab的stateflow工具中使用狀態作爲類並創建一個或多個對象?
在Rhapsody中 - 在創建類之後,可以創建該類的許多類似對象(實例)。matlab Stateflow vs. Rhapsody
在MATLAB的Stateflow的工具 - 一個可以創建一個狀態是,據我所知,一個對象。
是否有可能在matlab的stateflow工具中使用狀態作爲類並創建一個或多個對象?
Stateflow圖通常在Simulink中使用,並駐留在一個S函數(Simulink內的一個塊,具有與時間相關的輸入/輸出)。每個S函數將成爲狀態圖的一個實例。通常這些形成一個simulink模型,通過線連接塊。雖然我認爲也可以動態地做到這一點,但這遠遠超出了工具預期使用的舒適區域。
我已經使用庫從simulink模型中解耦了simulink(和stateflow塊)。我可以實例化它們中的很多(以圖形方式),並分別從它們的模型中更新它們。
Stateflow State不是一個對象。當從Stateflow圖表生成代碼時,狀態通常在「switch」語句中表示爲單個「案例」。他們沒有屬性或方法,也不能實例化。
其實我不知道可以在Stateflow或Simulink中創建類。這兩種工具都旨在以圖形方式表示算法,而不是類,關係或其他(抽象)對象。
我不知道這是你問的,但是你可以從stateflow類創建對象。
據我所知,stateflow有很多類。例如,狀態流狀態,狀態流連接,狀態流功能。
當您單擊以創建新狀態時,您正在創建一個新狀態類的對象。要以編程方式執行此操作,必須首先獲取stateflow對象的句柄(例如,這可以是一個完整的Stateflow圖或Stateflow圖)。
爲了得到這個句柄,你可以使用sfgco函數 - 這個函數獲取當前選中的stateflow對象的句柄(如果沒有被選中,你得到stateflow圖表對象的句柄)。
要創建具有作爲家長,你有手柄,你可以使用像這樣的Stateflow的對象類的新對象:
創建一個新的Stateflow的狀態:
state = sfgco;
newState = Stateflow.State(state); %this creates a state inside the stateflow object selected by sfgco.
更多信息查找Stateflow API pdf文件。