surf(Z) Z= 11x9 double produces a 10x8 surface
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ali Afshar Dodson
am 16 Nov. 2015
Kommentiert: Stephen23
am 16 Nov. 2015
I have a matrix of data 11x9 I wish to show as a surface. However
surf(Z)
surf(m,n,Z)
produce surfaces 10x8. Can anyone suggest how I can get all the results onto a surface? Thanks
1 Kommentar
Stephen23
am 16 Nov. 2015
This is the normal behavior of surf, as is explained in the answers below. If you want to plot each value as a distinct surface you could try using bar3.
Akzeptierte Antwort
Mike Garrity
am 16 Nov. 2015
When you create a surface, each value in your matrix becomes one of the vertices of the surface. Since the faces of the surface each connect a 2x2 group of vertices, the number of faces is one fewer in each of the two directions.
I'm just guessing, but it might be that you want to use all 11x9 values as colors. To do this, try setting FaceColor to interp.
surf(m,n,Z,'FaceColor','interp')
When you do this, the position AND COLOR of each version will come from one of the values in your matrix, and they will be interpolated across the faces.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Surface and Mesh Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!