2011-09-26 246 views
1

我有一個問題,我不知道如何弄清楚。我正在繪製從MATLAB溫度傳感器獲得的實時數據。傳感器軟件爲每個傳感器生成文本文件並在每分鐘後更新它。如果我想在一段時間之後更新劇情,我該怎麼辦?讓我們說10或20個值之後或每5分鐘後。繪製在Matlab中的特定時間間隔後的實時數據

+0

相關問題:[使用MATLAB實時處理文件後,每個實例文件由單獨的程序創建](http://stackoverflow.com/questions/7532825/using-matlab-to-process-files -in-real-time-every-instance-a-file-is-created) – Amro

回答

2

您可以使用timer

重用Nzbuu的代碼,它會像下面

function ReadAndUpdate 
    [X,Y] = readFile(); % Read file 
    set(h, 'XData', X, 'YData', Y) % Update line data  
end 
t = timer('TimerFcn',@ReadAndUpdate, 'Period', 5*60, ... 
      'ExecutionMode', 'fixedDelay') 
start(t) 

這裏的功能被無限觸發,但你可以stop,或設置條件。

+0

Thanks..it working very fine 還有一個問題,我繪製了一些使用子圖的16個圖,但圖似乎是qauite很小,所以我wana添加滾動條..任何想法如何完成這個滾動條的東西與一些功能 – mirage

+1

這可能是通過將你的subplots在一個uipanel(和圖中的uipanel)。編輯:看看http://www.mathworks.com/matlabcentral/fileexchange/24265-scrollbar-gui-example/content/GUIexample.m。 –

0

假設你有一個功能readFile從文件中讀取數據。你可以做一些快速和骯髒的事情。

h = plot(NaN, NaN); 
while true 
    [X,Y] = readFile(); % Read file 
    set(h, 'XData', X, 'YData', Y) % Update line data 
    pause(5*60) % Wait 5 minutes 
end