声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2156|回复: 5

[综合讨论] 如何生成在区间[-1,1]之间的服从正态分布N(0,1)的随机数

[复制链接]
发表于 2008-4-19 15:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我采用randn*2-1,可是还是不行,望高手指教
回复
分享到:

使用道具 举报

发表于 2008-4-19 17:40 | 显示全部楼层

回复 楼主 的帖子

你可以这样试试看,1/2*randn
发表于 2008-4-19 20:29 | 显示全部楼层
发表于 2008-4-19 20:56 | 显示全部楼层
RAND()*(a-b)+b
发表于 2008-4-19 22:53 | 显示全部楼层
原帖由 huright 于 2008-4-19 20:56 发表
RAND()*(a-b)+b


您好,请问a和b是代表区间的端点吗?
发表于 2008-4-20 02:55 | 显示全部楼层
rand()*(a-b)+b 是生成(b,a)上均匀分布的随机数。
randn()生成N(0,1)的随机数,不过按正态分布性质能取到整个实轴。
若要限制在[-1,1],需要对生成的随机数作截断,但这样得到的方差变小了,
如果是想要截断后的随机数方差为1,又服从正态分布,考虑生成N(0,var) 的随机数,选取var让其在[-1,1]区间上
的方差积分为1,对这样的随机数再作截段。

[ 本帖最后由 davlee 于 2008-4-20 03:07 编辑 ]

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-20 13:43 , Processed in 0.052103 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表