Why can't I generate a 3-d surface when using surf? (file)

3 vues (au cours des 30 derniers jours)
WEN SHIN LU
WEN SHIN LU le 22 Jan 2022
Commenté : WEN SHIN LU le 23 Jan 2022
My version is 2015b. I use Mac.
x=linspace(-2,2,20);
y=x';
z=y*x;
surf(x,y,z)
And the output has nothing, shownd in picture.

Réponses (1)

Cris LaPierre
Cris LaPierre le 22 Jan 2022
Z must be a matrix. In your code, it is only a vector. Follow the eamples on the surf documentation page. You will find meshgrid helpful for this purpose.
x=linspace(-2,2,20);
y=x';
[X,Y] = meshgrid(x,y);
Z = X.*Y;
surf(x,y,Z)
  3 commentaires
Cris LaPierre
Cris LaPierre le 22 Jan 2022
Good point. I wonder what the issue is then.
WEN SHIN LU
WEN SHIN LU le 23 Jan 2022
Thank you! I found it's about my files. I created a file called surf before. That's the issue.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by