在MATLAB中,我运行的代码需要一段时间才能运行。我想暂停代码来检查一些变量值。有没有办法我可以做到这一点,而无需从头开始重新运行代码?我不想终止该计划;只是暂停它。
答案 0 :(得分:6)
您可以通过两种方式暂停执行并提供命令提示符:
keyboard
放入您要停止的代码中。您可以分别使用dbcont
和dbquit
恢复和停止执行。要继续前进,请使用dbstep
。 dbstack
可让您了解自己的位置。还有更多命令。任何这些的帮助页面都会为您提供其他建议。
正如Dennis Jaheruddin所指出的,dbstop
还有一些值得尝试的有用功能。特别是能够通过dbstop if
语法设置条件和全局(符合标准的任何行)断点。例如,dbstop if error
将在任何错误时中断调试命令提示符。他现在提出的一个建议是将dbstop if error
放入startup.m
,以便在启动MATLAB时此行为将是默认的。您可能需要在userpath
文件夹中创建此文件; edit(fullfile(regexp(userpath,'^[^;]*','match','once'),'startup.m'))
。
答案 1 :(得分:2)
实现您正在寻找的内容的一种方法是使用code sections(也称为代码单元格),将代码划分为由具有两个百分号(%%)的行分隔的部分。
然后,在编辑器中,您可以按 ctrl + 输入执行当前代码部分,然后按 ctrl +向上/向下在各部分之间导航。
答案 2 :(得分:1)
确实有暂停命令,但是由于程序正在运行,您无法检查工作空间中的变量内容。
您可能需要设置断点(请参阅“调试”菜单/键F12)。
在断点处,matlab暂停程序并进入调试模式,您可以在其中查看和编辑变量。完成后,您可以恢复暂停的程序。
答案 3 :(得分:1)
我不确定Windows用户,但如果您正在运行Linux,则可以使用
在终端中启动Matlabmatlab -nodesktop
然后一旦Matlab启动,cd到你的项目目录并启动你的Matlab脚本。现在,只要您想暂停执行,就可以使用ctrl-Z
。然后恢复类型fg
。我希望这有帮助。