展开全部
追问
我想求的是单位球内的随机数。。。不过还是感谢你的帮助。
追答
球内的只要改一下就好,基本思想都是将直角坐标转为极坐标或求坐标
求坐标的体积元是 r^2*sinθdrdθdφ
所以r的分布函数是r^2的,积分也就是r^3,用0~1均匀分布的开三次方获得
而θ的分布函数是sinθ,积分也就是-cosθ,用-1~1均匀分布的反余弦获得
N=10000;
ang1=rand(1,N)*2*pi;%随机10000个0~2pi均匀分布的角度1
ang2=acos(rand(1,N)*2-1);%随机10000个-1~1均匀分布的反余弦获得角度2
r=rand(1,N).^(1/3);%随机10000个0~1均分布数的开立方做幅度
x=r.*cos(ang1).*sin(ang2);%计算x
y=r.*sin(ang1).*sin(ang2);%计算y
z=r.*cos(ang2);%计算z
plot3(x,y,z,'.');
axis square;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询