create a three-dimensional surface plot

Hello everybody!
I want to create a three-dimensional surface plot using the function surf, but unfortanatley there is a bug in my code which i coudn't solve or understand.
I would be greatful for any help!
Here is the code:
creates a three-dimensional surface plot:
[x,y] = meshgrid(1:0.5:10,1:20);
z = ((x^2)/(1+(x^2))) + y^2;
xlabel(x)
ylabel(y)
zlabel(z)
surf(x,y,z)
the function is the following
Thnak you very much in advance!
Best regards,

 Accepted Answer

Use element-wise operations for exponentiation (.^) and division (./):
z = ((x.^2)./(1+(x.^2))) + y.^2;
Then, it works.
See Array vs. Matrix Operations for details.

More Answers (0)

Products

Release

R2020b

Asked:

on 18 Dec 2020

Answered:

on 18 Dec 2020

Community Treasure Hunt

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

Start Hunting!