2012-02-09 21 views
6

ちょっとティック関数が混乱していますが、私がやろうとしていることに対してより良いことがあるかどうかはわかりません。 psuedo-Matlab:Matlabで指定時間後のブレークループ

startTime = tic 

while(true) 

    #some_stochastic_process 

    if(now - startTime > RUNTIME) 
    break; 
    end 
end 

しかし、その後のticの呼び出しは、元の時刻を壊すでしょう。それを上書きせずにticの現在の値にアクセスする方法はありますか?

答えて

10

関数NOWは、シリアル日付番号(つまり、コード化された日付と時刻)を返します。あなたは代わりにそうように、ストップウォッチのようなタイミングを実行するためのTOCを呼び出してTICに電話をペアリングする必要があります。

timerID = tic; %# Start a clock and return the timer ID 

while true 

    %# Perform some process 

    if(toc(timerID) > RUNTIME) %# Get the elapsed time for the timer 
     break; 
    end 

end 

また、あなたがそうのようなあなたのループを簡素化することができます:

while (toc(timerID) < RUNTIME) 

    %# Perform some process 

end 
+0

ああ - I私はticとtocの役割について混乱していたと思います。ありがとう! – chimeracoder

関連する問題