Matlab 等效于 Python 用于调试目的的退出函数

Matlab equivalent of Python exit function for debugging purposes

我想知道当您想让程序在某个点终止以进行简单检查(例如查看数组的形状等)时,Matlab 中的常见做法是什么。

在Python中,我通常在我希望我的程序终止的地方插入exit()

我查看了 Matlab 的文档,here 它说有一个 exit 语句,但这会导致关闭 Matlab GUI,因此我无法检查输出到Matlab 终端。

我知道我可以在 运行 时手动终止程序,但这让我无法控制确切的终止时间。

您正在寻找dbstophttps://mathworks.com/help/matlab/ref/dbstop.html

"The dbstop function is used to temporarily stop the execution of a program and give the user an opportunity to examine the local workspace." 对于您描述的用途,最可能的形式是 dbstop in FILESPEC at LINENO,例如dbstop in myfunction at 34.

只要您是 运行 MATLAB IDE 中的 MATLAB 代码,并且它不是实时脚本,那么最简单的方法就是手动设置 breakpoint 在感兴趣的行上,单击行号右侧的:

当执行到带有断点的行时,它将暂停,您可以浏览工作区的内容,在命令 window 中键入命令,或使用 ContinueStepQuit Debugging 工具栏中的按钮。

这与 dbstop 及其相关命令所做的基本相同,但在 IDE 中开发时更方便(恕我直言)。我想不出有什么理由更喜欢命令行版本,除非您出于某种原因被限制为纯文本输入。

使用断点是任何语言调试的一个非常基本的部分,Python 包括在内。如果您当前用于 Python 的 IDE 不支持它们,那么我强烈建议您考虑更换为支持的