MATLAB Answers

create mesh from X,Y

42 views (last 30 days)
Sumant Jha
Sumant Jha on 12 Feb 2016
Commented: Sumant Jha on 12 Feb 2016
I think it is something simple to do, but I can not figure it out. I would like to create a mesh grid from X, Z data. The data is sort of like this:
X= 0:1:500;
Z = 5:10:5000;
I can not use the triangular mesh and so no delaunay or TriScatteredInterp functions. I tried using something simple like:
x=X;
y = X;
[p,q,r]= meshgrid(x,y,Z);
surf(p,q,r);
But this does not works. I get an error that the CData must be an M-by-N matrix or M-by-N-by-3 array. How do I get this working?

  0 Comments

Sign in to comment.

Answers (1)

Mike Garrity
Mike Garrity on 12 Feb 2016
No, meshgrid with 3 inputs is going to give you a 3D grid. You still want a 2D grid for surf. I think that you're just trying to change the order of the arguments to surf:
[a,b] = meshgrid(0:500,5:10:5000);
z = randn(size(a));
surf(a,z,b,z,'EdgeColor','none')
axis equal

  1 Comment

Sumant Jha
Sumant Jha on 12 Feb 2016
Thanks for the answer. Now I am curious, how do we get the 3-D grid. Because, the grid I want has to has X and Y and Z with X = Y and Z being the value of the cell formed by grid?

Sign in to comment.

Sign in to answer this question.


Translated by