2016-05-19 2 views
0

У меня есть три переменные: , py и t, которые указывают координату x, координату y и время соответственно.Графический график из 3 переменных в Matlab

Мне нужно иметь 2D линейный график, чтобы визуализировать эволюцию положения с течением времени. Мне не нужно строить точную позицию и не знать, куда идет объект. Я просто визуализирую траекторию и скорость изменения положения объекта. Например, если между t1 и t2 объект остается неподвижным, линия будет полностью горизонтальной. Если тогда он движется немного, линия немного поднимется, и если тогда он резко изменится, то наклон линии тоже увеличится.

Другими словами, мне нужен способ объединить обе координаты положения в одну переменную для построения графика с течением времени, но без потери значимой информации, которую они мне дают.

Я попытался построить информацию в 3D с помощью plot3, но ее визуализация недостаточно ясна, поэтому я решил изменить свой подход и попытаться только визуализировать скорость, с которой изменяется траектория объекта.

ответ

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

Спасибо, это работает просто отлично! –

Смежные вопросы