我有一个 MATLAB 代码,对于某些输入情况需要无限的时间来执行。我想从代码的执行中排除那些导致 MATLAB 函数执行时间超过 X 分钟的输入值,因为 MATLAB 意识到执行时间太长。你知道有什么方法可以做到这一点吗?如果它是用 C 编写的,我可以通过并发来完成此操作,但我除了 MATLAB 中的并发之外一无所知。
事实上,当我执行 Control-C (我在 Windows 中)来中断这样的无限执行时,代码实际上似乎正确完成。
非常感谢。
如果您正在运行一个可以控制的循环,您可以使用 tic 和 toc 来了解您已经运行了多长时间,如果太长则停止:
start = tic;
for i=1:1000000
if (mod(i,1000)==0)
if (toc(start) > 2) % here, 2 seconds
error('Took toooo loooong');
end
end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)