Drawing a surface with x,y,z points
matlab, plot
Solution
I suggest you do a Delaunay triangulation of the x,y values, and then use z as height for a surface plot:
x = randn(100,1);
y = randn(100,1);
z = (exp(-x.^2-y.^2));
tri = delaunay(x,y);
trisurf(tri,x,y,z)
EDIT
Since you seem to have problems with your Matlab version, here's an alternative: use `griddata` to interpolate your data onto a regular grid, so that you can use `surf` for plotting.
x = randn(100,1);
y = randn(100,1);
z = (exp(-x.^2-y.^2));
[xx,yy]=meshgrid(-2:0.1:2,-2:0.1:2);
zz = griddata(x,y,z,xx,yy);
dfig,surf(xx,yy,zz)
Problem
I have a list of `x`, `y`, `z` in this form: ``` -0.2894 1.2835 0.5405 -0.8171 -0.3034 0.1824 2.7864 0.5506 0.0037 ``` I could plot using `plot3(x,y,z, '*')` and it works fine. Now I would like to draw a surface, but when I do: ``` >> surf(x,y,z) ??? Error using ==> surf at 78 Z must be a matrix, not a scalar or vector. ``` How should I draw it?