2014-07-17 4 views
0

나는 온도 판독 값을 취하여 온도 대 시간 그래프에서 실시간으로 결과를 그래프로 나타내는 실험을하고있다. 현재 사용중인 코드는 90 초 동안의 데이터를 그래프로 나타냅니다. 그림에 10 초 분량의 데이터 만 표시하려고하므로 데이터를 더 잘 분석 할 수 있습니다. 예를 들어, 처음 10 초 동안 이미 촬영 된 모든 데이터가 11 초에 표시되면 1 ~ 11 초 사이의 데이터가 표시되고 이후에는 2 ~ 12 초의 데이터가 표시됩니다. 그래프의 축 설정을 변경하려고 시도했지만 제대로 작동하지 않습니다. 다음은 이전하지 다음 10 초, 표시 x 축을 설정하는 것 같습니다 내가그래프에 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

을 사용하고있는 코드입니다.

대신이를 사용할 수 있습니다

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

또는 처음 10 초 동안 [0 ~ 10]의 한계를 해결하기 위해 :

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

덕분에 남자. 위대한 작품! – user3712173