Surface plot using surf() and mesh grid

11 vues (au cours des 30 derniers jours)
federico nutarelli
federico nutarelli le 20 Août 2021
Commenté : federico nutarelli le 20 Août 2021
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

Réponse acceptée

KSSV
KSSV le 20 Août 2021
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 commentaire
federico nutarelli
federico nutarelli le 20 Août 2021
@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

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by