我正在使用
从python调用MATLAB脚本ml = matlab.engine.start_matlab()
output = ml.myMATLABscript(input1, input2)
脚本在MATLAB中运行良好,但是当我从Python调用它时,它会遇到int vs double问题。到目前为止,我已经通过在脚本崩溃时解释错误消息来解决这个问题,但是看看具体发生了什么会很好。为此,我希望能够逐步完成MATLAB代码行,即使我已经从Python中调用它。
答案 0 :(得分:2)
事实证明这比我预期的要容易。只需在MATLAB脚本中以编程方式设置断点即可。例如:
dbstop if error
然后像以前一样从Python调用脚本。 MATLAB编辑器将在指定的断点处以调试模式打开。
这也可以在不编辑MATLAB脚本的情况下实现。在这种情况下,您需要使用enginge的eval:
从Python设置MATLAB断点ml = matlab.engine.start_matlab()
ml.eval(dbstop in myMATLABscript if error)
output = ml.myMATLABscript(input1, input2)
完整性,来自MATLAB's documentation:
dbstop in file
在文件的第一个可执行行设置断点。 dbstop in file at location
在指定位置设置断点dbstop in file if expression
在文件的第一个可执行行设置条件断点dbstop in file at location if expression
在指定位置设置条件断点。