2016-05-19 14 views
0

Ich habe drei Variablen: px, py und t, die die X-Koordinate, Y-Koordinate und Zeit angeben.Zeichnen Sie ein Liniendiagramm aus 3 Variablen in Matlab

Ich brauche ein 2D-Liniendiagramm, um die Entwicklung der Position über die Zeit zu visualisieren. Ich muss weder die genaue Position bestimmen, noch wissen, wohin das Objekt geht. Ich visualisiere nur die Flugbahn und Geschwindigkeit der Veränderung der Position des Objekts. Wenn beispielsweise das Objekt zwischen t1 und t2 stehen bleibt, wäre die Linie vollständig horizontal. Wenn es sich dann leicht bewegt, würde die Linie ein wenig steigen, und wenn es sich dann drastisch bewegt, würde die Steigung der Linie auch viel steigen.

Mit anderen Worten, ich brauche einen Weg, um beide Positionskoordinaten in einer einzigen Variable zu verbinden, um im Laufe der Zeit zu zeichnen, aber ohne die bedeutungsvollen Informationen zu verlieren, die sie mir geben.

Ich habe versucht, die Informationen in 3D mit plot3 zu plotten, aber seine Visualisierung ist einfach nicht klar genug, also entschied ich mich, meinen Ansatz zu ändern und nur die Geschwindigkeit zu visualisieren, mit der sich die Objektbahn verändert.

Antwort

1

Im folgenden Code habe ich den Abstand vom Ursprung berechnet und mit der Zeit aufgetragen.

Wenn das Ihre Anforderung nicht erfüllt, verwenden Sie den folgenden Code. Dabei berechnete ich die Verschiebung von einem Punkt (x, y) zum nächsten Punkt (x1, y1) und angehängten Null vor, um die Dimensionen gleich zu machen. Dann wurde die kumulative Summe gefunden, so dass Sie eine horizontale Linie erhalten, wenn das Objekt stillsteht.

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

Danke, das funktioniert gut! –

Verwandte Themen