gpt4 book ai didi

python - 从 Python 调用 MATLAB 脚本时如何调试它

转载 作者:行者123 更新时间:2023-11-30 22:35:36 24 4
gpt4 key购买 nike

我正在使用 python 从 python 调用 MATLAB 脚本

ml = matlab.engine.start_matlab()
output = ml.myMATLABscript(input1, input2)

该脚本在 MATLAB 中运行良好,但当我从 Python 调用它时,它会遇到 int 与 double 问题。到目前为止,我一直在通过解释脚本崩溃时的错误消息来解决这个问题,但很高兴看到具体发生了什么。为此,我希望能够逐行单步执行 MATLAB 代码,即使我是从 Python 调用的。

最佳答案

事实证明这比我想象的要容易。只需以编程方式在 MATLAB 脚本中设置断点即可。例如:

dbstop if error

然后像以前一样从 Python 调用脚本。 MATLAB 编辑器将在指定断点处以 Debug模式打开。

这也可以在不编辑 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在指定位置设置条件断点。

关于python - 从 Python 调用 MATLAB 脚本时如何调试它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44517765/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com