2014-07-17 40 views
0

我正在進行一項實驗,在該實驗中,我將溫度讀數和實時結果繪製在溫度與時間圖上。我目前使用的代碼顯示了圖中整個90秒的數據。我正試圖在圖上只顯示10秒的數據,所以我可以更好地分析數據。例如,在前10秒,所有已經取得的數據在第11秒顯示,它將顯示1-11秒的數據,之後將顯示數據2-12秒,依此類推。我試圖改變圖表上的座標軸設置,但效果不好。 這裏是我使用如何在圖表中只顯示10秒的數據? Matlab

a=arduino('COM5');% connect to ardunino 
ai_pin= 0; 
tic; 
i=0; 

while toc<90; 
    i=i+1; 
    time(i)=toc; 
    toc_show=time(i)+10; 
    t(i)=a.analogRead(ai_pin); %temperature reading 
    figure(1); 
    plot(time,v); 
    axis([time(i),toc_show,0,500]);% should set axis to display needed data but doesn't work well 
    pause(0.01); 
    currFrame = getframe(gcf); 
end 

回答

0

的代碼看起來你正在設置x軸顯示下一個 10秒,沒有以前。

你也可以使用這樣的:

xmin = time(i) - 10; 
xmax = time(i); 
axis([xmin,xmax,0,500]); 

或定出的極限[0 10]前10秒:

xmin = max(time(i) - 10, 0); 
xmax = max(time(i), 10); 
+0

感謝的人。很棒! – user3712173

相關問題