MATLAB 执行运行时限制

MATLAB execution runtime limitation

我想限制我在代码中使用的函数的执行运行时间。可能吗?

我将 Windows 10 与 MATLAB R2015a 一起使用(与之前问的这个问题不同:Matlab time limit for function execution),所以是否有任何更改需要进行有可能还是有任何调整使其成为可能?

例如:

H = transpose(homograpyMatrix);
t = projective2d(homograpyMatrix);
result = imwarp(img, t);  % If execution takes more than X seconds - stop running

如果 imwarp 计算时间过长(超过预定义的 X 秒),我希望 MATLAB 停止 运行 进程。可能吗?

请注意,我不想在循环中使用 tic-toc 作为停止条件,因为事实并非如此。

您有两个选择:

并行计算工具箱

Parallel Computing Toolbox, you can define a timeout for idle calculations。重要的是要记住,只要您的进程进入 parfor 循环或使用 parfeval.

,此超时就会重置

Hard-coded超时

在这种情况下,您将实施一个 hard-coded 超时变量并定期检查它以评估您是否必须停止 运行 进程。