MATLAB:强制函数返回解决方案,如果它花费的时间太长

时间:2015-11-27 00:16:05

标签: matlab

我正在尝试将10,000个经验数据集一个接一个地提供给一个函数。每次数据集都很相似,但存在一些细微差别。

通常该例程工作正常,但偶尔(由于差异很小),该函数将被赋予一个无法解决的数据集,或者无法在几个小时内解决。

如果不使用该数据集,我不在乎。是否有某种方法来编辑函数,因此它说“如果这个数据集太长,只需将一些任意值返回给脚本,以便我们可以继续”?

2 个答案:

答案 0 :(得分:2)

在函数内,启动时调用t_start = tic();

您可以使用t_elapsed = toc(t_start);

检查当时检查的秒数

如果你的函数有很多循环,你可以检查toc(t_start)每个循环,并在经过的时间过大时返回一些错误条件。

答案 1 :(得分:2)

您可以在输入功能时使用'now'功能获取当前日期。 在函数的某个时刻,您可以再次使用它并检查差异以查看增量是否超过等待阈值(以秒为单位)。

starttime = now;
% processing block
if (now - starttime) > 3600
    return (junk answer)
end