Matlab的新手,不太熟悉MatLab中的编码和编程。
function fucx()
for i = 1:3
for j = 1:3
for k = 1:3
try
%MainFuc()
%TimerFuc()
time = cputime;
time = cputime-time;
a = timer;
set (a, 'executionMode', 'fixedRate')
set (a,'timerfcn','disp(time)')
start(a)
timeStop = time;
if (timeStop>60) % in seconds
disp('RunOutOfTime: Program terminated');
stop(a)
break;
end;
catch
%%Err()
end
end
end
end
end
非常感谢您的帮助。
%%更新%%
我看到推荐的答案如下。我试过这个。
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
我想要保证的是定时器或tic函数与MainFuc()并行运行并知道何时停止循环。
答案 0 :(得分:1)
您应该使用matlab中的“tic”和“toc”函数,请参阅此处的文档Matlab tic function。 当你调用“tic”时,计时器重新启动,每次你调用“toc”时,它会给你自上次“tic”以来的秒数。然后,如果再次调用“tic”,计时器将重新启动。
以下是您需要的代码。
a = 0;
for i = 1:3
for j = 1:3
tic;
for k = 1:10^7
try
%MainFuc()
a = a + 1;
catch
%%Err()
end
%TimerFuc()
time = toc;
if (time>2) % in seconds
disp('RunOutOfTime: Program terminated');
break;
end;
end
end
end