2016-05-19 30 views
0

我有三個變量:px,pyt,它們分別表示x座標,y座標和時間。在Matlab中繪製來自3個變量的線圖

我需要有一個二維線圖,以便隨時間變化顯示位置的演變。我不需要繪製確切的位置,也不需要知道物體的位置。我只是爲了想象物體位置變化的軌跡和速度。例如,如果在t1和t2之間對象保持不動,則該線將完全水平。如果它稍微移動,線條會稍微增加一點,如果線條移動得很厲害,線條的斜率也會增加很多。

換句話說,我需要一種方法將兩個位置座標合併爲一個單一變量,以便隨着時間的推移進行繪圖,但不會丟失它們給我的有意義的信息。

我試圖用plot3來繪製3D中的信息,但是它的可視化還不夠清晰,所以我決定改變我的方法,並試圖只顯示對象軌跡變化的速度。

回答

1

在下面的代碼中,我計算了距原點的距離並將其與時間一起繪製。

distance=sqrt(px.^2+py.^2); 
plot(t,distance); 

如果不符合您的要求,請使用下面的代碼。在這裏,我計算了從一個點(x,y)到下一個點(x1,y1)的位移,並在前面附加零,以使尺寸相同。然後找到累計和,這樣當對象保持靜止時,您將得到一條水平線。

p=[px;py]; 
pd=p; 
p(:,end)=[]; 
pd(:,1)=[]; 
p=[[0;0] p]; 
pd=[[0; 0] pd]; 
displacement=sqrt((pd(1,:)-p(1,:)).^2+(pd(2,:)-p(2,:)).^2); 
cdisp=cumsum(displacement); 
plot(t,cdisp); 
+0

謝謝,這工作得很好! –