Matlab

2012-02-09 16 views
6

में निर्दिष्ट समय के बाद ब्रेक लूप, मैं टिक फ़ंक्शन द्वारा थोड़ा उलझन में हूं, लेकिन मुझे यकीन नहीं है कि मैं जो करने की कोशिश कर रहा हूं उसके लिए कुछ बेहतर है। Psuedo-Matlab में:Matlab

startTime = tic 

while(true) 

    #some_stochastic_process 

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

लेकिन बाद में कॉल करने के लिए कॉल मूल समय को पकड़ लेगा। क्या इसे ओवरराइट किए बिना टिक के वर्तमान मूल्य तक पहुंचने का कोई तरीका है?

उत्तर

10

फ़ंक्शन NOW एक सीरियल दिनांक संख्या (यानी एक एन्कोडेड दिनांक और समय) देता है। वैकल्पिक रूप से

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 

, तो आप ऐसा की तरह अपने पाश को आसान बनाने में कर सकता है:: आप के बजाय TIC करने के लिए कॉल के लिए एक कॉल के साथ TOC को, स्टॉपवॉच की तरह समय प्रदर्शन करने के लिए तो जैसे आप युग्मन जाना चाहिए

while (toc(timerID) < RUNTIME) 

    %# Perform some process 

end 
+0

आह - मैं अनुमान है कि मैं टिक बनाम टोक की भूमिका के बारे में उलझन में था। धन्यवाद! – chimeracoder