How to plot elliptic function (x,y,z) in MATLAB

I want to plot a elliptic function (x^2+y^2+z=16) on matlab with limits 0<=x<=2 and 0<=y<=2

回答(3 个)

% 0<=x<=2 and 0<=y<=2
x = linspace(0,2,20);
y = linspace(0,2,20);
[X,Y] = meshgrid(x,y);
% x^2+y^2+z=16
Z = 16-X.^2-Y.^2;
surf(X,Y,Z);
grid on
view([60 30]);
xlabel('x')
ylabel('y')
zlabel('z')
Please check if it looks like this:
meshpoints = 41;
Lb = 0; % lower bound
Ub = 2; % upper bound
step = (Ub - Lb)/(meshpoints - 1);
[x, y] = meshgrid(Lb:step:Ub, Lb:step:Ub);
z = 16 - (x.^2 + y.^2); % the surface equation
surf(x, y, z)
view([135 23]);

3 个评论

what is meshpoints and surf function does?
Meshpoints specifies the number of points and meshgrid function creates the number of points between Lower bound and the Upper bound in the x- and y-axes. If the number of mesh points is too small, it will create a very coarse (rough) texture. If the number of mesh points is too big, it will create a very dense (thick) texture. Adjust the number and you will experience it.
The surf function creates the surface plot. You can also use the mesh function, if you want to create the surface that has solid edge colors but no face colors.

请先登录,再进行评论。

类别

标签

Community Treasure Hunt

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

Start Hunting!

Translated by