Re bonjour,

je vous explique les deux paramètres que j'aimerais ajouté au programme ci-dessous.
Pour replacer le problème dans son contexte j'ai une fenêtre qui affiche pour une position gps (latitude longitude) un niveau d'intensité (représenté en couleur).
Le programme fonctionne parfaitement mais j'aimerais ajouté deux choses :
- (1) mettre une échelle de couleur sur le coté, correspondant au niveau d'intensité (Lpow) crée dans la boucle modélisant la figure.
- (2) afficher en plus des coordonnées gps le niveau d'intensité (Lpow) lorsque l'on clique sur un point avec le datacursor.

Avez-vous des indications à me donner, j'ai essayé d'utiliser colormap et colorbar mais sans succès.

Voici le code en question :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
 
clear all ;
close all ;
 
% Ouverture du fichier
filename='Trajet_00647757743044269898.XLS';
 
Apneu=68.2587;
Bpneu=34.1715;
Amot=48.9952;
Bmot=34.0052;
Vref=50;
RPMref=1000;
 
 
% lecture feuille 1
num = xlsread(filename,'Feuil1');
temps1=num(:,1); % horloge
rpm=num(:,2); % régime moteur
v=num(:,3); % vitesse en km/h
dist1=num(:,8); 
n1=length(v); % longueur des vecteurs
 
% lecture feuille 2
num2=xlsread(filename,'Feuil2');
longitude=num2(:,10); % longitude
latitude=num2(:,16); % latitude
dist2=num2(:,19); 
temps2=num2(:,1); % horloge gps
n2=length(temps2); % longueur des vecteurs
n3=temps2(end); % dernière valeur du vecteur thorloge gps
 
 
 
 
% Synchronisation des deux échelles de temps
temps3 = nan(size(temps2)); % initialisation du nouveau vecteur de même taille que t2 avec des valeurs NaN
for ii=1:numel(temps2)% pour chaque valeur de t2
   [~,idx] = min(abs(temps1-temps2(ii)));% recherche de l'index dans t1 de la valeur de t1 la plus proche de t2(ii)
   temps3(ii) = temps1(idx); % stockage dans t3 de la valeur trouvée
   rpm2(ii)=rpm(idx); 
   v2(ii)=v(idx);
end
 
% Recomposition du niveau de puissance
for i=1:n2
    Lmot(i)=Amot+Bmot*log10(rpm2(i)/RPMref);  %composante bruit moteur
    Lpneu(i)=Apneu+Bpneu*log10(v2(i)/Vref); % composante pneu
    L(i)=dbsum(Lmot(i),Lpneu(i)); % bruit total
    Lpow(i)=L(i)+25.6; % niveau de puissance
end
 
% Echelle de couleur_à peaufiner
for i=1:n2;
 
if Lpow(i)<80
color(i) = 0.1; % if all z are >0
elseif Lpow(i)>80 && Lpow(i)<90
color(i)=0.5;
else color(i)=0.9;
end
 
end
 
 
 
% Affichage des courbes
figure(1)
hold on,
for i=1:n2
plot(longitude(i),latitude(i),'.','Color',[color(i) 1-color(i) 1-color(i)])% plan gps du parcours
title('Niveau de puissance Lw du véhicule=f(Position sur le circuit)')
xlabel('Longitude(°)')
ylabel('Latitude(°)')
end
Merci à vous.