How to plot sin(theta)*cos(phi) in spherical coordinates

11 次查看(过去 30 天)
[theta,phi] = meshgrid(linspace(-pi,pi,41),linspace(-pi/2,pi/2,41));
R = sin(theta)*cos(phi);
[X,Y,Z] = sph2cart(theta,phi,R);
surf(X,Y,Z)
alpha 0.5
axis vis3d
Tried using the code above but it is not giving me what I would expect (a p orbital looking shape). Any way anyone could help me figure this out?

回答(2 个)

Amjad Green
Amjad Green 2018-2-21
plot3(X,Y,Z)
  1 个评论
Nathan Cross
Nathan Cross 2018-2-21
[theta,phi] = meshgrid(linspace(-pi,pi,41),linspace(-pi/2,pi/2,41));
R = sin(theta)*cos(phi);
[X,Y,Z] = sph2cart(theta,phi,R);
plot3(X,Y,Z)
Tried this and it seems like I am still having an issue because I am getting this for the graph

请先登录,再进行评论。


Unai San Miguel
Unai San Miguel 2018-2-21
sin(theta) * cos(phi) is the result of the matrix multiplication of the two terms. Maybe you wanted sin(theta) .* cos(phi)? The latter has in every element of the array the product of sin(theta(i,j)) and cos(phi(i,j))

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by