MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [MATLAB数学相关] 求助:如何生成球面均匀分布随机数 (https://www.labfans.com/bbs/showthread.php?t=7875)

GoldSpear 2009-04-23 23:46

求助:如何生成球面均匀分布随机数
 
旨在生成球面均匀分布单位向量
若用两个角坐标的话,与Z轴垂直的xy平面角可以用0到1均匀分布rand()
但与Z轴相关的theta角则需要生成按照sin函数分布的随机数,random里面如何自定义非常用的分布?
或者还有什么其它的方法实现?

大谢~

silas_xue 2009-04-24 05:57

回复: 求助:如何生成球面均匀分布随机数
 
lz 你可以在Matlab的help中输入Distribution Reference 查看相关说明

Thx for reading.
PS:若还算满意,直接点击“Thanks”,再次登陆时亦便于查看回答是否真的帮到你了。
个人观点 仅供参考 多多交流 相互学习

yhcode 2009-04-24 13:08

回复: 求助:如何生成球面均匀分布随机数
 
实际上你只要能生成0-1间的随机数,就可以得到按照某个函数规律分布的随机数,如SIN函数,
x = rand(100);
y = sin(x);
不知道我的理解是不是对,呵呵

GoldSpear 2009-04-25 10:17

回复: 求助:如何生成球面均匀分布随机数
 
这个仅是值均匀的sin函数,随机数的概率分布仍然是平均的啊

[QUOTE=yhcode;26548]实际上你只要能生成0-1间的随机数,就可以得到按照某个函数规律分布的随机数,如SIN函数,
x = rand(100);
y = sin(x);
不知道我的理解是不是对,呵呵[/QUOTE]

GoldSpear 2009-04-25 10:20

回复: 求助:如何生成球面均匀分布随机数
 
里面的分布我都找过了,没有直接的正弦分布,麻烦您说的具体点,谢谢~

[QUOTE=silas_xue;26527]lz 你可以在Matlab的help中输入Distribution Reference 查看相关说明

Thx for reading.
PS:若还算满意,直接点击“Thanks”,再次登陆时亦便于查看回答是否真的帮到你了。
个人观点 仅供参考 多多交流 相互学习[/QUOTE]

silas_xue 2009-04-26 05:21

回复: 求助:如何生成球面均匀分布随机数
 
lz help中输入Distribution Reference 中有些分布 在参数特殊取值是 退化后是不一样的 直接的话应当是没有的
个人观点 仅供参考

laosam280 2009-04-26 08:51

回复: 求助:如何生成球面均匀分布随机数
 
如果是按照sin函数随机分布,那还不是和[-1 , 1]之间的随机分布一样。你就考虑一个半球就可以了,用randn或者rand都可以,取出[0 , 1]之间的随机数即可。

GoldSpear 2009-05-12 11:29

回复: 求助:如何生成球面均匀分布随机数
 
注意是球面均匀分布,不是平面均匀分布
[QUOTE=laosam280;26677]如果是按照sin函数随机分布,那还不是和[-1 , 1]之间的随机分布一样。你就考虑一个半球就可以了,用randn或者rand都可以,取出[0 , 1]之间的随机数即可。[/QUOTE]


所有时间均为北京时间。现在的时间是 04:52

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.