1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
clear all
close all
data = dlmread('D:\23_tracks_texte.txt');
data(:,3) = data(:,3) / 25 ;%frame rate = 25 images/seconde donc changer le frame en seconde en divisant par 25
[~, ~, ic] = unique( data(:,2) ); %tester si la 2 eme colonne contenant l'id de chaque véhicule est unique
n = size(data,1);
particules = accumarray(ic, (1:n).', [], @(idx) {data(idx,:)});
for i = 1:size(particules,1)
data1(i,:) = [particules{i,1}(1,1), particules{i,1}(1,4),particules{i,1}(1,14)];
end
%Alternance Rouge-Bleu
figure(1)
hold on
for k = 1:numel(particules)%%Parcourir tous les véhicules
if mod(k,2) == 1
col_line = [1, 0, 0];
else
col_line = [0, 0, 1];
end
M = particules{k};
%créer un vecteur distance entre deux véhicules
%et prendre les distances plus courtes en moyenne pour distinguer deux véhicules qui se suivent
position = M(:,3); %accéder au 3 eme colonne des données contenant des positions des véhicules
Mk = position{k}; %prendre la position du véhicule en question
Mj = position{k+1}; %prendre la position du véhicule suiveur
dist_kj = sqrt((Mk -Mj).^2); % distance instantanée
distm_kj = mean(dist_kj ); % distance moyenne
plot3( M(:,3), M(:,6),M(:,5), 'color',col_line);
view(45,45)
xlabel('time(s) ')
ylabel('y(t) ')
zlabel('x(t) ')
end |
Partager