How do I plot x^2+z^2=9 above the xy plane and between y=-1 and y=2?

5 次查看(过去 30 天)
syms x y z;
[x,y,z]=meshgrid(-10:1:10);
Z = realsqrt(9-x^2);
surf(X,Y,Z);

采纳的回答

Aoi Midori
Aoi Midori 2018-12-3
How about:
syms x y z;
[x,y]=meshgrid(-10:1:10);
z = abs(sqrt(9-x.^2));
surf(x,y,z);
ylim([-1 2])

更多回答(2 个)

min many
min many 2022-2-18
syms x y z;
[x,y]=meshgrid(-10:1:10);
z = abs(sqrt(9-x.^2));
surf(x,y,z);
ylim([-1 2])

Carlos Guerrero García
The z definition z=sqrt(9-x^2) is not for the below part of the surface. I prefer not using symbolic variables for the representation. I suggest the following lines:
[t,y]=meshgrid(0:pi/60:2*pi,-1:0.1:2); % 't' for a parametrization of x^2+z^2=9. The 'y' range as the statement
x=3*cos(t);
z=3*sin(t); % The 'x' and 'z' parametrization of x^2+z^2=9
surf(x,y,z); % Plotting the surface
axis equal; % ..with equal ratios
set(gca,'BoxStyle','full'); % Establishing the option 'full' for a bounding box
box % Adding a bounding box

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by