我目前正致力于并行计时功能,作为时序阈值,可应用于主功能。需要最长的运行时间。达到阈值后,主函数将中断并进入下一个循环。
我最初的想法是从另一个独立函数调用timer
,以便可以实现并行函数。但它没有这样做。
function timeStop()
time = cputime;
time = cputime-time;
a = timer;
set (a, 'executionMode', 'fixedRate')
set (a,'timerfcn','disp(time)')
start(a)
timeStop = time;
end
然后调用此timeStop
,
function fucx()
for i = 1:3
for j = 1:3
for k = 1:3
try
%MainFuc()
timeStop
if (timeStop>60) % in seconds
disp('RunOutOfTime: Program terminated');
stop(a)
break;
end;
catch
%%Err()
end
end
end
end
end
这是MainFunc()
中模型设置,研究和解决方案的大量集合,没有循环。我在考虑直接将tic/toc
函数放入MainFuc()
。但我不确定MATLAB内部是否会以我想要的方式工作。因为我不知道MainFunc()
中的无限时间被困在哪一步或代码行。如果没有并行确定,我不能简单地用tic/toc
函数。
我考虑过使用tic/toc
,但有人告诉我,内部MATLAB只会知道完全执行MainFuc()
后的运行时间。我不确定这是否属实,但发现在不同位置具有相似含义的帖子。