我正试图将10000个经验数据集一个接一个地提供给一个函数。每次的数据集都是相似的,但也有一些小的差异。
通常情况下,例程运行良好,但偶尔(由于微小的差异)会给函数提供一个无法解决的数据集,或者在几个小时内无法解决。
如果数据集没有被使用,我也不太在乎。有没有办法编辑函数,让它说"如果这个数据集花费的时间太长,只需向脚本返回一些任意值,这样我们就可以继续"?
您可以在输入函数时使用'now'函数来获取当前日期编号。在函数中的某个时刻,您可以再次使用它,并检查差异,看看delta是否长于您的等待阈值(以秒为单位)。
starttime = now;
% processing block
if (now - starttime) > 3600
return (junk answer)
end
在函数中,在t_start = tic();
启动时调用它。
您可以使用t_elapsed = toc(t_start);
检查然后检查经过的秒数
如果您的函数有很多循环,您可以检查每个循环的toc(t_start)
,如果经过的时间太长,则返回一些错误条件。