フィルターのクリア

Making mesh from independent variables

2 ビュー (過去 30 日間)
Ali Y.
Ali Y. 2011 年 7 月 13 日
I have three variables as vectors (X,Y,Z). They are Longitude, latitude and Depth, respectively. I wanna create a wireframe mesh form these data. In case of my data the variable Z isn't a function of X and Y (i.e. it's an independent variable form X and Y), I can't get Z as a matrix. How can I make a matrix from vector Z, and grid my data to create mesh or surface? Please help me to write this code.I need it vitally. I tried "mesh" and "griddata", but there is something wrong with my code. Thanks in advance,
X=(44:0.30:49); Y=(34:0.30:39); Z=(rand(1,17))*1000; [X1,Y1]=meshgrid(X,Y);

回答 (2 件)

Chirag Gupta
Chirag Gupta 2011 年 7 月 13 日
How about meshgrid?
[x,y,z] = meshgrid(X,Y,Z); % Where X,Y and Z are vectors
  1 件のコメント
Ali Y.
Ali Y. 2011 年 7 月 13 日
Makes this error
??? CData must be an M-by-N matrix or M-by-N-by-3 array
Error in ==> mesh at 151
hh = graph3d.surfaceplot(x,y,z,'FaceColor',fc,'EdgeColor','flat',
...

サインインしてコメントする。


Sean de Wolski
Sean de Wolski 2011 年 7 月 13 日
doc griddata
doc triscatteredinterp
to get your irregular mesh to a regular one.
Z has to be 17x17 to have a combination for each point in X,Y, it's currently 1x17. Are you sure you don't want:
plot3(X,Y,Z)
?
  3 件のコメント
Sean de Wolski
Sean de Wolski 2011 年 7 月 13 日
it should be
Z1 = reshape(griddata(X(:),Y(:),Z(:),X1(:),Y1(:)),size(X1));
Ali Y.
Ali Y. 2011 年 7 月 13 日
Sorry, still the same tangled lines (in real data). Though, in the code which I have written for you, it cause "precision problems" in making "Delaunay triangulation" and makes these error.
========================================
??? Error using ==> qhullmx
Error in ==> delaunayn at 117
t = qhullmx(x', 'd ', opt);
and
Error in ==> griddata>linear at 151
tri = delaunayn([x y]);

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by