how to plot z=9-sqrt(x^2+y^2) inside the cylinder r=2?

10 次查看(过去 30 天)
clear all;
syms x y;
xlabel('x');
ylabel('y');
zlabel('z');
[x,y] = meshgrid(-10:1:10,-10:1:10);
y=9-sqrt(x.^2+y.^2);
surf(x,y,x);
view([10 10 10]);

回答(2 个)

madhan ravi
madhan ravi 2018-12-4
编辑:madhan ravi 2018-12-4
syms x y
ezsurf(9-sqrt(x.^2+y.^2));
axis([-10 10 -10 10 -10 10]) % you can limit the range here
hold on
fimplicit3(x^2+y^2==2^2)
view([10 10 10]);

KSSV
KSSV 2018-12-4
编辑:KSSV 2018-12-4
% Mesh a cylinder
R = 2 ; % radius
h = 2. ; % height
m = 50 ;
n = 50 ;
% Discretizing the Height and Angle of the cylinder
nH = linspace(0,h,m) ;
nT = linspace(0,360.,n)*pi/180 ;
[H, T] = meshgrid(nH,nT) ;
% Convert grid to cylindrical coordintes
X = R*cos(T);
Y = R*sin(T);
Z = H ;
%
[x,y] = meshgrid(-R:0.1:R,-R:0.1:R);
z=h-sqrt(x.^2+y.^2);
surf(x,y,z);
hold on
surf(X,Y,Z)
xlabel('x');
ylabel('y');
zlabel('z');
view([10 10 10]);
YOu have to play with the second equation, so that it lies inside cylinder.

标签

Community Treasure Hunt

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

Start Hunting!

Translated by