0
我正在使用MATLAB Engine API for Python
。我在Python腳本中有一個共享引擎,然後連接到這個共享引擎的另一個Python腳本。我想問一下使用set_param
命令是否可以從Simulink中更改正在運行的仿真參數。它看起來像我的以下解決方案不起作用。第二個腳本中的set_param
命令正在等待,直到來自第一個腳本的sim()
命令完成。提前致謝。用於Python的MATLAB引擎API:更改運行仿真的參數
1日腳本:
import matlab.engine
eng = matlab.engine.start_matlab()
eng.eval("matlab.engine.shareEngine('my_sim123')")
eng.eval("load_system('scheme123')",nargout=0)
eng.eval("sim('scheme123')")
第二腳本:
import matlab.engine
eng = matlab.engine.connect_matlab('my_sim123')
eng.eval("set_param('scheme123/PID', 'P', '15')",nargout=0)
更新:我試圖用set_param('scheme123', 'SimulationCommand','Start')
代替,但出現下列錯誤:「您不能使用set_param運行模擬在一個沒有顯示的MATLAB會話中。「有沒有其他方法可以改變運行求和的參數而不顯示?
我試圖用'eng.set_param(「scheme123」,「SimulationCommand」,「開始」,nargout = 0)'代替,但出現下列錯誤:「你不能使用set_param在沒有顯示的MATLAB會話中運行模擬。」有沒有其他方法可以改變運行求和的參數而不顯示? – user3618276
您需要在桌面打開時啓動MATLAB引擎:'matlab.engine.start_matlab(' - desktop')'。我不相信你有任何其他選擇。您也可以使用'-minimize'和'-nosplash'來避免顯示桌面上的文字。 –