MATLAB: Creating a 3D surface plot from a matrix

3d plots

I am trying to create a 3D surface plot with a 50 x 3 matrix. The first 2 columns represent an x and y location and the 3rd column represents a value for the xy point. I am unable to figure out how to create the plot without errors. Thanks.

Best Answer

That would only be possible if your data are gridded (so the x and y data are in regular patterns).
Probably the easiest way to determine that is to plot it with stem3. If the (x,y) data appear to regularly-spaced so the z data approximates a surface, use the reshape function on each of the vectors to form the required matrices.
If your data are scattered, use the griddata (link) function or one of its friends (linked to at the end of that page) to create your requisite gridded data to use with surf.
Related Question