如何策划一个函数在一个三维球体吗?
7视图(30天)
显示旧的评论
我想把下面的函数在一个领域获得这些数据:
我的编码的程序是:
清晰的所有;
关闭所有;
clc;
% % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -程序- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
N0 = 100;
r_med = 0.445;
sigma_g = 7;
N_ang = 91;
th = linspace(0,π,181);
ph = linspace(0, 2 *π,181);
为i = 1:长度(r_med)
(赛(我,:),P12(我,:),P33(我:),意思是(我:),~,~,~]= ZK_W_Cloud_PhaseFunc (N0, r_med(我),sigma_g, N_ang)
结束
图
(θ,φ)= meshgrid (th, ph值)
I = 1;
Q = 1;
U = 0;
p =赛(1:)。*我+ P12(1:)。*(问:* cos(2 *φ)+美国* sin(2 *φ));%相位函数
x = p。* (sin(φ))* cos(θ);
y = p。* (sin(φ))*罪(θ);
z = p。* (cos(φ));
冲浪(x, y, z)
包含(“x”);
ylabel (“y”);
zlabel (“z”);
的输出是:
我不知道在哪里的问题。请如果任何人都可以解决。维的输入参数是:
答案(1)
威廉•罗斯
2022年9月4日
编辑:威廉•罗斯
2022年9月4日
(edit-correct错误)
我在你的评论不能运行简化代码。代码似乎依靠侯和P12计算。我没有
ZK_W_Cloud_PhaseFunc
,计算P11and P12。
我建议你检查你的θ和φ。你spherical-to-Cartesian转换假定φ是+ Z轴角测量,θ是+ X轴的角度测量,在X - y平面,重点在xy平面的投影。标准,但板块公约列车可以用来制作你想要的数据复制。请参见“Conveentions”部分:
https://en.wikipedia.org/wiki/Spherical_coordinate_system
如果你假设θ和φ的意思是正确的,那么你的phi0和theta0应该
theta0 = linspace(0, 2 *π,361);
phi0 = linspace(0,π,181);
注意与你的不同。
好运!
1评论
威廉•罗斯
2022年9月4日
不明显的从我的回答,你可以实施另一种公约通过离开theta0和phi0出现在您的代码在你的评论,但改变φ和θ的角色转换为X, Y, Z。换句话说;
theta0 = linspace(0,π,181);
phi0 = linspace(0, 2 *π,361);
%其他代码…
x =公积金。* (sin(θ))* cos(φ);
y =公积金。* (sin(θ))*罪(φ);
z =公积金。* (cos(θ));
也许会有所帮助。我希望如此。