Countour plot based on velocity data
1 回表示 (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Voss
2022 年 12 月 24 日
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 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Blue についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!