2015-04-07 70 views
0

我想要一個用於Matlab Simulink命令行實現的解決方案。在simulink模型中有一個稱爲「向前邁進」的模擬開關。有了這個,我可以一步一步地運行,並能夠在每個採樣時間內查看範圍內的輸出。一步一步模擬Matlab命令行模擬Simulink模型

我也可以在任何採樣週期時間更改恆定輸入模塊的一些輸入。不過,我想在命令行中這樣做,因爲我有一個巨大的模型,我想重用這個模型驗證腳本。

我可以使用「sim」命令做一些這樣的事情。但是sim命令只是一次模擬整個模型,並且我無法觀察/更改中間輸出/輸入。具有一定停止時間的「sim」命令在某些採樣週期內運行,但後來如果我給出下一個「sim」命令,它將從頭開始運行,而不是從停止的地方開始運行。但是,是否有任何精確的Matlab命令可以步進和暫停(一個採樣週期時間)模擬,就像simulink gui中的那樣。

回答

1

您希望使用SimState在一次模擬結束時保存模型的狀態,並在下一次模擬開始時恢復它們。在Save and Restore Simulation State as SimState下的文檔中描述瞭如何執行此操作。

對於sim的每次調用,您不能對模型進行任何結構更改(例如添加或移除塊)。還有幾個塊不支持SimState,請參閱文檔以獲取更多詳細信息。請注意,這是最新版本(R2015a),過去幾年添加了越來越多的塊以支持SimState,因此您要根據所使用的版本檢查release notes

1

你可以試試這個:

sldebug('gcs'); 

你現在在調試模式下,你可以鍵入help以獲取可用命令的概述。要通過模型類型運行:

next 

每次輸入next時,都會將模擬向前移動一步。

以下鏈接將爲您提供有關如何逐步完成模擬的更多詳細信息。

http://www.mathworks.com/help/simulink/ug/how-stepping-through-a-simulation-works.html

有關使用調試器通過模擬一步一步地運行更多的細節,你可以去:

http://www.mathworks.com/help/simulink/ug/running-a-simulation-step-by-step.html