# How to Plot a function on 3D-sphere?

2 ビュー (過去 30 日間)
Wiqas Ahmad 2021 年 4 月 6 日

I want to plot the function P of the equation shown. I have to obtan the following figure. I have already obtained all the inputs required by this function and have coded a program to get the figure but unable to get it.
N0=100;
r_med=0.5;
sigma_g=7;
N_ang=91;
[P11,P12,P33,P34,beta_s,alpha_c,beta_c] = ZK_W_Cloud_PhaseFunc(N0,r_med,sigma_g,N_ang)
theta=0:1:180;
beta1=180:1:360;
beta=2*beta1;
ph_ft1=P12.*cos(beta);
hph_ft=P11+ph_ft1
[x,y,z]=sphere
x1=x.*hph_ft;
y1=y.*hph_ft;
z1=z.*hph_ft;
S1=surf(x1,y1,z1)

サインインしてコメントする。

### 回答 (1 件)

Walter Roberson 2021 年 4 月 6 日
N0=100;
r_med=0.5;
sigma_g=7;
N_ang=91;
[P11,P12,P33,P34,beta_s,alpha_c,beta_c] = ZK_W_Cloud_PhaseFunc(N0,r_med,sigma_g,N_ang)
theta=0:1:180; %UNUSED
beta1=180:1:360;
beta=2*beta1;
ph_ft1=P12.*cosd(beta); %beta is degrees!
hph_ft=P11+ph_ft1
[x,y,z]=sphere
x1=x.*hph_ft;
y1=y.*hph_ft;
z1=z.*hph_ft;
S1=surf(x1,y1,z1)
Where is the alpha? Where is the sind(2*beta) ? Or all of the other variables??
It is not a good idea to use variable names that are completely different than the equations.
##### 3 件のコメント表示非表示 2 件の古いコメント
Wiqas Ahmad 2021 年 4 月 9 日
I modified my question and now the code is is according to the question. Hope it will be clear now
N0=100;
r_med=0.5;
sigma_g=7;
N_ang=91;
[P11,P12,P33,P34,beta_s,alpha_c,beta_c] = ZK_W_Cloud_PhaseFunc(N0,r_med,sigma_g,N_ang)
alpha=0:1:180;% angle alpha
beta=180:1:360; %angle beta
ph_ft(alpha,beta)=P11(alpha)+P12(alpha).*(cosd(2*beta)); %beta is in degrees! I have to plot this function
[x,y,z]=sphere
x1=x.*ph_ft;
y1=y.*ph_ft;
z1=z.*ph_ft;
S1=surf(x1,y1,z1)

サインインしてコメントする。

### Community Treasure Hunt

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

Start Hunting!

Translated by