Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-04-23, 23:46   #1
GoldSpear
初级会员
 
注册日期: 2008-07-11
年龄: 37
帖子: 10
声望力: 17
GoldSpear 正向着好的方向发展
警告 求助:如何生成球面均匀分布随机数

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

大谢~
GoldSpear 当前离线   回复时引用此帖
旧 2009-04-24, 05:57   #2
silas_xue
高级会员
 
注册日期: 2008-11-01
年龄: 39
帖子: 406
声望力: 26
silas_xue 是一个将要出名的人
默认 回复: 求助:如何生成球面均匀分布随机数

lz 你可以在Matlab的help中输入Distribution Reference 查看相关说明

Thx for reading.
PS:若还算满意,直接点击“Thanks”,再次登陆时亦便于查看回答是否真的帮到你了。
个人观点 仅供参考 多多交流 相互学习
silas_xue 当前离线   回复时引用此帖
旧 2009-04-24, 13:08   #3
yhcode
高级会员
 
注册日期: 2008-05-13
年龄: 44
帖子: 232
声望力: 21
yhcode 正向着好的方向发展
默认 回复: 求助:如何生成球面均匀分布随机数

实际上你只要能生成0-1间的随机数,就可以得到按照某个函数规律分布的随机数,如SIN函数,
x = rand(100);
y = sin(x);
不知道我的理解是不是对,呵呵
__________________
工科'985'博士,(图像处理、分析及理解;模式识别;运动估计;数据分析等)定做程序、算法实现--qq:752105755
yhcode 当前离线   回复时引用此帖
旧 2009-04-25, 10:17   #4
GoldSpear
初级会员
 
注册日期: 2008-07-11
年龄: 37
帖子: 10
声望力: 17
GoldSpear 正向着好的方向发展
默认 回复: 求助:如何生成球面均匀分布随机数

这个仅是值均匀的sin函数,随机数的概率分布仍然是平均的啊

引用:
作者: yhcode 查看帖子
实际上你只要能生成0-1间的随机数,就可以得到按照某个函数规律分布的随机数,如SIN函数,
x = rand(100);
y = sin(x);
不知道我的理解是不是对,呵呵
GoldSpear 当前离线   回复时引用此帖
旧 2009-04-25, 10:20   #5
GoldSpear
初级会员
 
注册日期: 2008-07-11
年龄: 37
帖子: 10
声望力: 17
GoldSpear 正向着好的方向发展
默认 回复: 求助:如何生成球面均匀分布随机数

里面的分布我都找过了,没有直接的正弦分布,麻烦您说的具体点,谢谢~

引用:
作者: silas_xue 查看帖子
lz 你可以在Matlab的help中输入Distribution Reference 查看相关说明

Thx for reading.
PS:若还算满意,直接点击“Thanks”,再次登陆时亦便于查看回答是否真的帮到你了。
个人观点 仅供参考 多多交流 相互学习
GoldSpear 当前离线   回复时引用此帖
旧 2009-04-26, 05:21   #6
silas_xue
高级会员
 
注册日期: 2008-11-01
年龄: 39
帖子: 406
声望力: 26
silas_xue 是一个将要出名的人
默认 回复: 求助:如何生成球面均匀分布随机数

lz help中输入Distribution Reference 中有些分布 在参数特殊取值是 退化后是不一样的 直接的话应当是没有的
个人观点 仅供参考

此帖于 2009-04-26 05:30 被 silas_xue 编辑。
silas_xue 当前离线   回复时引用此帖
旧 2009-04-26, 08:51   #7
laosam280
高级会员
 
注册日期: 2008-11-07
住址: 湖南长沙
帖子: 233
声望力: 21
laosam280 正向着好的方向发展
默认 回复: 求助:如何生成球面均匀分布随机数

如果是按照sin函数随机分布,那还不是和[-1 , 1]之间的随机分布一样。你就考虑一个半球就可以了,用randn或者rand都可以,取出[0 , 1]之间的随机数即可。
__________________
坚持就是胜利,努力就有奇迹。
laosam280 当前离线   回复时引用此帖
旧 2009-05-12, 11:29   #8
GoldSpear
初级会员
 
注册日期: 2008-07-11
年龄: 37
帖子: 10
声望力: 17
GoldSpear 正向着好的方向发展
默认 回复: 求助:如何生成球面均匀分布随机数

注意是球面均匀分布,不是平面均匀分布
引用:
作者: laosam280 查看帖子
如果是按照sin函数随机分布,那还不是和[-1 , 1]之间的随机分布一样。你就考虑一个半球就可以了,用randn或者rand都可以,取出[0 , 1]之间的随机数即可。
GoldSpear 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 22:43


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