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

5 visualizzazioni (ultimi 30 giorni)
syms x y z;
[x,y,z]=meshgrid(-10:1:10);
Z = realsqrt(9-x^2);
surf(X,Y,Z);

Risposta accettata

Aoi Midori
Aoi Midori il 3 Dic 2018
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])

Più risposte (2)

min many
min many il 18 Feb 2022
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
Carlos Guerrero García il 29 Nov 2022
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

Community Treasure Hunt

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

Start Hunting!

Translated by