Countour plot based on velocity data
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have data consist of X(x coordinate) Y(y coordinate) Z(velocity). I created below countour plot with especial flow software as below:
I try to plot countour in matlab with below code but it gives wrong results.
xyz=dlmread('velocity.txt');
x=xyz(:,1);
y=xyz(:,2);
z=xyz(:,3);
[X,Y]=meshgrid(min(x):max(x),min(y):max(y));
Z=griddata(x,y,z,X,Y);
contourf(X,Y,Z)
Which code I need to create velocity countour similar to first image? Thank you.
Note: I uploaded my data as an attachment.
0 commentaires
Réponse acceptée
Voss
le 24 Déc 2022
The x and y don't quite make a grid (a point is missing in the upper-left corner near (0,2)):
xyz = readmatrix('velocity.txt');
plot(xyz(:,1),xyz(:,2),'.')
so it's most convenient to use a scatteredInterpolant:
I = scatteredInterpolant(xyz(:,1),xyz(:,2),xyz(:,3));
[x,y] = meshgrid(unique(xyz(:,1)),unique(xyz(:,2)));
contourf(x,y,I(x,y))
colorbar
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Blue dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!