Open Simulink model using Matlab engine for python
21 次查看(过去 30 天)
显示 更早的评论
Installed matlab engine for python as mentioned
https://www.mathworks.com/help/matlab/matlab_external/connect-python-to-running-matlab-session.html
below command in python terminal gave me error
>>> import matlab.engine
>>> eng = matlab.engine.connect_matlab()
>>> eng.sqrt(4.0)
2.0
>>> eng.open_system('fcc_to_icd1.slx')
Too many output arguments
Traceback (most recent call last): File "<stdin>", line 1, in module File "C:\ProgramData\Anaconda3\lib\site-packages\matlab\engine\matlabengine.py", line 78, in _call_ stderr, feval=True).result() File "C:\ProgramData\Anaconda3\lib\site-packages\matlab\engine\futureresult.py", line 68, in result return self._future.result(timeout) File "C:\ProgramData\Anaconda3\lib\site-packages\matlab\engine\fevalfuture.py", line 82, in result self._result = pythonengine.getFEvalResult(self._future,self._nargout, None, out=self._out, err=self._err) matlab.engine.MatlabExecutionError: Too many output arguments
is there a way to open simulink models using python matlab engine ?
0 个评论
采纳的回答
Stephan
2018-9-12
Hi,
make and save a .m-file in your matlab folder containing the following line:
open_system('name of your file')
then call this script from python with:
import matlab.engine
eng = matlab.engine.connect_matlab()
eng.your_script_name(nargout=0)
This should call the script which then calls simulink to open your model.
Best regards
Stephan
1 个评论
svanimisetti
2020-3-18
编辑:svanimisetti
2020-3-18
Alternatively, just use the following!
>>> eng.open_system('vdp',nargout=0)
Seems to work for me. Also, if you don't care about opening the model in the Simulink GUI, just load the system and run it. If your model defines tout and yout, these are returned back to Python by evaluating the variables from Matlab workspace. Otherwise, the 'results' variable will have the standard output vector/array.
>>> eng.load_system('vdp')
>>> results = eng.sim('vdp')
>>> %#eng.bdclose('vdp')
>>> eng.close_system('vdp',nargout=0)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Call MATLAB from Python 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!