我正在使用Simulink(Matlab),我有一個問題: 我開始一個模擬和每個'T'時間,我需要停止它,將系統的狀態保存爲Simstate,並且然後通過更改一些變量來恢復系統狀態。例如,我與示範基地「倒立擺與動畫」(penddemo.mdl)工作,當我恢復狀態,我必須改變鐘擺的質量,這裏的一些代碼:Matlab/Simulink SimState錯誤
set_param('penddemo','LoadInitialState','on','InitialState','init_state'); % load the initial state
set_param('penddemo','SaveFinalState','on','FinalStateName', 'xFinal','SaveCompleteFinalSimState', 'on'); % save the complete simstate
set_param('penddemo/Pendulum','Mcart','0.600'); % change the mass
sim('penddemo',time); %starting the simulation
問題是我得到這個錯誤:
無法加載Simulink SimState因爲在保存SimState後,初始模型'penddemo'被更改。再次運行模擬並重新保存SimState。
我知道有在使用SIMSTATE的限制:
您不能在您保存SIMSTATE,並在您使用恢復模擬時的時間之間的模型的任何結構變化SimState。例如,保存SimState後不能添加或移除塊,而不重複模擬並保存新的SimState。
但我不認爲改變一個變量是一個結構性變化。 也許有人知道在Simstate恢復之前改變一些變量的另一種方法。
謝謝全部
感謝您的回答,但擺錘的質量是可調參數,「內聯參數」已關閉。 – Fabio