Bonjour à tous,

Je suis un étudiant en hydrologie. Je suis encore débutant en matlab.
Je fais des mesures de vitesses dans les collecteurs d'assainissement et je voudrais tracer les champs de vitesse.
Mes points de mesure forment une grille régulière, et j'obtiens un contour dans une grille régulière (points ronds en blanche sur la figure).
Mais je voudrais interpoler mes données sur toute la section de mon collecteur (c'est à dire grille irrégulière) mais je n’y arrivais pas, donc j’aurais besoin de votre aide. J'ai tracé à la main en bleu sur la figure la surface sur laquelle je voudrais avoir mes champs de vitesses.
Nom : amont - 15-04-28.jpg
Affichages : 376
Taille : 186,5 Ko

Voici les données exemples sur la figure:
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
abscisses	ordonnées	Vitesses
y	z	Vi
m	m	m/s
0,20	0,03	0,00
0,20	0,10	0,10
0,20	0,20	0,15
0,20	0,30	0,17
0,20	0,40	0,20
0,20	0,50	0,20
0,40	0,03	0,00
0,40	0,10	0,08
0,40	0,20	0,16
0,40	0,30	0,16
0,40	0,40	0,21
0,40	0,50	0,22
0,60	0,03	0,00
0,60	0,10	0,05
0,60	0,20	0,08
0,60	0,30	0,04
0,60	0,40	0,12
0,60	0,50	0,13
Et voici le bout de code que j’ai utilisé pour le tracé de contour :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
%création de la matrice
[Y,Z]=meshgrid(0:.01:1,0:.01:1);
V=griddata(y,z,Vi,Y,Z);
% %création des contours
[C,h]=contourf(Y,Z,V);
set(h,'Showtext','on','LevelList',[0:0.03:max(Vi)],'DisplayName','Contour (y,z,Vi)');colorbar;
k=convhull(y,z);
plot(y,z,'ko','markerfacecolor','w', 'DisplayName','Points de mesure')
F=scatteredInterpolant(y,z,Vi);
Je vous remercie par avance.

Jean
Pièce jointe 181988