Surface plot using surf() and mesh grid

Hi all,
I have two vectors and a matrix that I would like to plot in 3D (as surfaces). I have seen that there is a command called surf() to do so. Now, my variables are two vectors, say k1 and k2 of length (1x741) and a matrix, say omega, of dimension (12x741). When I perform:
[X,Y]=meshgrid(k1,k2)
my new vectors X and Y, are, of course 741x741. My problem is: is there a way to transform the 12x741 matrix in, say, a matrix Z so that I can perform
surf(X,Y,Z)
without dimensionality errors?
Thank you

 Accepted Answer

You can use interp2, imresize to resize your desired matrices into required dimensions.
Let Omega be your matrix of size 12*741.
Z = imresize(Omega,[741 741]) ;
Now you can use surf.

1 Comment

@KSSV thank you for your reply. However, I might have posed the question in the wrong way. In particular I would like 12 surfaces to appear. The matrix Omega is a 12x741 since it contains 12 curves. With imresize the surface plot is just one

Sign in to comment.

More Answers (0)

Products

Release

R2020b

Community Treasure Hunt

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

Start Hunting!