how do you graph z=sqrt(9-r^2cos^2(theta))?
1 次查看(过去 30 天)
显示 更早的评论
syms x y z;
[x,y,]=meshgrid(-10:1:10);
z = abs(sqrt(9-r.^2*cos.^2(theta)));
surf (r,theta,z);
ylim([-1,2]);
xlabel('x');
ylabel('y');
zlabel('z');
2 个评论
Walter Roberson
2018-12-5
编辑:Walter Roberson
2018-12-5
You have not defined r or theta.
The syms is not doing anything for you there.
If you need to convert x y coordinates to polar coordinates then see cart2pol()
回答(2 个)
Aoi Midori
2018-12-5
编辑:Aoi Midori
2018-12-5
z = 3 when r = 0:
[r]=meshgrid(0:0.1:6.28);
[theta]=meshgrid(0:0.1:2*pi);
z = abs( sqrt( 9 - (r.^2 .* cos(theta').^2 ) ) );
surf (r,theta',z);
xlabel('r');
ylabel('theta');
zlabel('z');
0 个评论
Carlos Guerrero García
2022-11-30
I think that Carter Pennington was talking about the parametrized surface
x=r*cos(theta)
y=r*sin(theta)
z=sqrt(9-r^2*(cos(theta))^2)
with 0<=theta<=2pi and 0<=r<=3 (for real values of z)
In consecuence, I will plot the graph in the sentence with the followng lines:
[r,theta]=meshgrid(0:0.1:3,0:pi/60:2*pi); % In the supposed range
x=r.*cos(theta); % The classical definitons of the
y=r.*sin(theta); % polar coordinates for "x" and "y"
z=sqrt(9-r.^2.*(cos(theta)).^2); % The condition in the question
surf(x,y,z); % The graph
hold on; % and keep the focus on the figure for
surf(x,y,0.*x); % plotting the range in the XY plane
shading interp; % Optional for showing the mesh lines
axis equal % For an adequate view
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!