engSetVisible when starting Matlab Engine from Python

4 views (last 30 days)
Hello, when starting Matlab Engine from C++ it was possible to have the engine window visible, and keep it open even after the code was finished, so easy debugging of the workspace content of the engine session was possible. When starting the matlab engine from python, the engSetVisible command does not work and a startup option ("-visible") is not understood. Is there a solution to this? I am aware that a possible workaround is to save the workspace at the end of the script and then reload it. Just this is less convenient than having the workspace open and accessible straight away. Thanks a lot

Accepted Answer

Robert Snoeberger
Robert Snoeberger on 31 May 2015
According to the documentation, you can start matlab with the "-desktop" startup option. See the "Start Engine with Startup Options" subsection of the documentation for more information.
Please note that startup options were added in R2015a. See "MATLAB Engine for Python: Support for startup options" in the R2015a release notes .
  4 Comments
Bo Li
Bo Li on 1 Jun 2015
Assume the M file "foo.m" is located in folder "C:\tmp", this is one approach that I would try:
>>>eng=matlab.engine.start_matlab("-desktop")
>>>eng.cd(r'C:\tmp') #change to the folder with file "foo.m"
>>>eng.eval("dbstop in foo.m at 2", nargout=0) #set breakpoint
>>>eng.foo() #call the M function, which will pause at line 2
After that, you can check the variables in the workspace of MATLAB.
EK
EK on 7 Jun 2015
Thank you Robert and Bo: The dbstop is a helpful command. Still, here, the script would not stop at the desired point. What I'm doing now is to pause the python script: #import time
time.sleep(1)
In this way, I can inspect the contents of the matlab engine session and it will not be closed automatically

Sign in to comment.

More Answers (0)

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!