MATLAB: How to do contour plot

surf

I would like to use this command. I want to to a contour plot of a square figure. X is the vector who represent the x coordinates of the square figure and Y is a vector who represent the y coordinates of the square figure? If a have a square figure what I have to assume for X and Y inputs?
surf(X,Y,Z)
Matlab said that Z must be a matrix and not a vector. What's the matter?

Best Answer

Francesco, that is correct. Z must be a matrix, see for example (from the documentation)
[X,Y] = meshgrid(-8:.5:8); % create 33-by-33 matrices for X and Y
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R; % note, Z is also a 33-by-33
surf(X,Y,Z)
where meshgrid is used to create matrices for X and Y. Based on the grid you can compute/assign values to Z .