ilgili fonksiyon dosyasını örnegin 3600 seconds çalıştırmak istiyorum bunu nasıl yapabilirim
7 Cevap
Büyük veri içeren bir seZgisel algoritma fonksiyonunda 3600 saniyede bulduğu en iyi çözümü vermesini istiyorum
Asıl işlemin yapıldığı bir döngü varsa, onun içine şöyle bir şey kurabilirsiniz. Alttaki fonksiyon 3 sn boyunca toplama yapıyor.
function out = fonk()
tic; sure=3; %saniye
out=0;
while toc < sure
out=out+1;
end
end
Timer ile de yapılabilir ama fonksiyonu siz yazdıysanız gereksiz karışık olur bence. https://uk.mathworks.com/help/matlab/matlab_prog/use-a-matlab-timer-object.html
Yeni dongu yazmadan var olan dongunuzden cikmak icin de break kullanabilirsiniz;
tic; sure=5;
for/while (kendi dongunuz)
if toc > sure
break;
end
end (dongu sonu)