没有断点暂停Matlab

Don*_*Don 7 matlab

我的脚本运行时间超出了我的预期,它已经运行了3天,只取得了55%的进度.

我很乐意以67%左右的速度停止它(我可以没有剩下的33%)但是如果我现在停止它(ctrl + c或ctlr + break),我将丢失所有数据.

那么有没有办法暂停Matlab,也许进入调试模式,这样我就可以检查变量而不会丢失数据?

Tam*_*abó 0

我假设您在这里迭代地执行某些操作,而不依赖于内置的 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 的值。