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

[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 日

0 投票

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 日

0 投票

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))

カテゴリ

質問済み:

2018 年 2 月 21 日

回答済み:

2018 年 2 月 21 日

Community Treasure Hunt

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

Start Hunting!

Translated by