我在simulink 中使用輸入端口「inp」和輸出端口「out」在simulink模型「Mod_Sim」中。 我想發送輸入到這個模型,模擬它,然後在每個採樣時間「Ts」取對應的輸出爲 。 我想用這種方式模擬這個模型的「N」個時間步長(以Ts爲單位)。如何以這種方式在Matlab M文件中運行Simulink模型?
更具體而言,我想以下實現:
在給定的時間步長的「k」,我將具有輸入u(k)的(來自其它來源)。 然後,我想將此輸入應用於Mod_Sim,並從模型中獲取相應的輸出y(k)。我想重複這個N次的步驟。
我該怎麼做這樣的實現?
我會很樂意提供幫助。
我知道這個實現,這不是我想要的。我的實現將在線:t和u將隨着時間創建,因此u不能在一開始就被定義爲時間函數。 – user3489173
你的問題不清楚(或者也許只是我)。無論如何,這聽起來像你想要共同模擬。這實際上很難做得很好,你需要編寫一個S函數來與其他軟件進行交互或者生成u(t)的任何東西,我不知道從哪裏開始。如果可能的話,另一種選擇是通過TCP/IP或UDP/IP發送數據。我會更新我的答案以反映這一點。 – am304
我想要做的是如下(是的,它是聯合仿真)。有一個軟件「X」可以與Matlab耦合,但Simulink不可能。 X軟件中有一個「M」型號。我在Simulink中爲M設計了一個SISO控制器「K」。在耦合文件「Cm」(將X耦合到Matlab)中,我想在每個採樣時間k調用K以獲得u(k),然後將這個u k)通過Cm傳遞給M,並且在模擬M之後,我將通過Cm從X中的M獲得輸出y(k),最後我將把y(k)發送給K.我將很樂意瞭解如何執行它。謝謝。 – user3489173