# Surface plot using surf() and mesh grid

9 Ansichten (letzte 30 Tage)
federico nutarelli am 20 Aug. 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
##### 0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

KSSV am 20 Aug. 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 Kommentar-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden
federico nutarelli am 20 Aug. 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

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Surface and Mesh Plots finden Sie in Help Center und File Exchange

R2020b

### Community Treasure Hunt

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

Start Hunting!

Translated by