我的脚本运行时间超出了我的预期,它已经运行了3天,只取得了55%的进度.
我很乐意以67%左右的速度停止它(我可以没有剩下的33%)但是如果我现在停止它(ctrl + c或ctlr + break),我将丢失所有数据.
那么有没有办法暂停Matlab,也许进入调试模式,这样我就可以检查变量而不会丢失数据?
我假设您在这里迭代地执行某些操作,而不依赖于内置的 matlab 函数。
我通常解决您遇到的问题的方法是有一个迭代计数器和if该计数器上的语句 - 当满足条件时,该语句有一个断点。
像这样的东西:
itCounter = 0;
itHalt = 100;
while (someCondition)
if (itCounter == itHalt)
itCounter = 0; %<= Put a breakpoint here
else
itCounter = itCounter+1;
end
% Here you calculate away whatever you need to calculate
end
Run Code Online (Sandbox Code Playgroud)
这样,在每次 itHalt 迭代中,您都会获得一个断点。另外,由于我们处理的是 matlab,因此一旦遇到断点,您就可以根据需要更改 itHalt 的值。