Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2007-05-19, 17:51   #1
chenhuips2
普通会员
 
注册日期: 2007-05-19
帖子: 51
声望力: 19
chenhuips2 正向着好的方向发展
默认 【求助】新人求助!如果生成符合区间为(-1,1)的标准正态分布随机数!

RT
最近因工作需要写小工具!
均值分布随机数不符合工具要求~
所以需要生成符合正态分布随机数~
但是不知道怎么弄~
请高手解答!
3Q!
chenhuips2 当前离线   回复时引用此帖
旧 2007-05-19, 18:05   #2
ciji1995
游客
 
帖子: n/a
默认

先用normrnd(mu,sigma),然后再sign一下行不?
  回复时引用此帖
旧 2007-05-19, 18:12   #3
chenhuips2
普通会员
 
注册日期: 2007-05-19
帖子: 51
声望力: 19
chenhuips2 正向着好的方向发展
默认

引用:
作者: ciji1995 查看帖子
先用normrnd(mu,sigma),然后再sign一下行不?
这个不行啊~
sign是取符号,
结果出来不是-1就是1。
我需要的是生成一组以标准正太分布在(-1,1)之间的的随机数!
chenhuips2 当前离线   回复时引用此帖
旧 2007-05-19, 18:23   #4
ciji1995
游客
 
帖子: n/a
默认

哦,刚没注意,再想想
  回复时引用此帖
旧 2007-05-19, 19:13   #5
spy1120
普通会员
 
spy1120 的头像
 
注册日期: 2007-05-18
年龄: 38
帖子: 77
声望力: 19
spy1120 正向着好的方向发展
默认

randn函数应该也可以
__________________
吾幼学文,10年不就,怒,遂习武,校场骑射,中鼓吏,乃逐,闭门研医良久,自攥一良方,服之,卒!!!
spy1120 当前离线   回复时引用此帖
旧 2007-05-19, 19:16   #6
spy1120
普通会员
 
spy1120 的头像
 
注册日期: 2007-05-18
年龄: 38
帖子: 77
声望力: 19
spy1120 正向着好的方向发展
默认

比如:
>> sin(rand(1,100))

ans =

Columns 1 through 10

0.8135 0.2291 0.5703 0.4671 0.7779 0.6904 0.4408 0.0185 0.7321 0.4302

Columns 11 through 20

0.5773 0.7117 0.7967 0.6730 0.1754 0.3947 0.8049 0.7937 0.3989 0.7794

Columns 21 through 30

0.0579 0.3456 0.7265 0.0099 0.1384 0.2014 0.1974 0.5678 0.2688 0.1975

Columns 31 through 40

0.0153 0.6793 0.4305 0.8027 0.4493 0.4065 0.7488 0.5013 0.2013 0.6227

Columns 41 through 50

0.7434 0.0196 0.6298 0.3704 0.7391 0.4819 0.6514 0.4159 0.2999 0.1885

Columns 51 through 60

0.1922 0.6305 0.2982 0.5156 0.1503 0.6426 0.3694 0.7579 0.7537 0.5593

Columns 61 through 70

0.4764 0.7832 0.7323 0.6011 0.7298 0.6133 0.3353 0.2857 0.3346 0.5090

Columns 71 through 80

0.6647 0.3044 0.7436 0.5380 0.3620 0.6463 0.5198 0.4303 0.6401 0.5821

Columns 81 through 90

0.7137 0.8174 0.4991 0.7708 0.1721 0.8304 0.2681 0.2497 0.7680 0.6723

Columns 91 through 100

0.1361 0.0118 0.7795 0.1978 0.2943 0.6143 0.2806 0.4522 0.0647 0.8351
__________________
吾幼学文,10年不就,怒,遂习武,校场骑射,中鼓吏,乃逐,闭门研医良久,自攥一良方,服之,卒!!!
spy1120 当前离线   回复时引用此帖
旧 2007-05-19, 19:40   #7
chenhuips2
普通会员
 
注册日期: 2007-05-19
帖子: 51
声望力: 19
chenhuips2 正向着好的方向发展
默认

引用:
作者: spy1120 查看帖子
比如:
>> sin(rand(1,100))

ans =

Columns 1 through 10

0.8135 0.2291 0.5703 0.4671 0.7779 0.6904 0.4408 0.0185...
请问为什么要加sin函数?
可以解释一下机制吗?
chenhuips2 当前离线   回复时引用此帖
旧 2007-05-19, 20:16   #8
spy1120
普通会员
 
spy1120 的头像
 
注册日期: 2007-05-18
年龄: 38
帖子: 77
声望力: 19
spy1120 正向着好的方向发展
默认

rand(m,n)产生正态分布的m行n列随机数矩阵,其均值为0,标准差为1。但产生的数也有比1大比-1小的,所以我加个sin,但现在想想那也不能加,呵呵
__________________
吾幼学文,10年不就,怒,遂习武,校场骑射,中鼓吏,乃逐,闭门研医良久,自攥一良方,服之,卒!!!
spy1120 当前离线   回复时引用此帖
旧 2007-05-20, 17:18   #9
chenhuips2
普通会员
 
注册日期: 2007-05-19
帖子: 51
声望力: 19
chenhuips2 正向着好的方向发展
默认

引用:
作者: spy1120 查看帖子
rand(m,n)产生正态分布的m行n列随机数矩阵,其均值为0,标准差为1。但产生的数也有比1大比-1小的,所以我加个sin,但现在想想那也不能加,呵呵
rand()
只是在(0,1)区间上产生均值分布的随机数。
现在我我对自己写得工具做了修改~
如果能够在(0,1)区间产生正态分布随机数也是可以使用的~
但是就是找不到合适的命令和方法来实现他~
chenhuips2 当前离线   回复时引用此帖
旧 2007-05-20, 20:40   #10
spy1120
普通会员
 
spy1120 的头像
 
注册日期: 2007-05-18
年龄: 38
帖子: 77
声望力: 19
spy1120 正向着好的方向发展
默认

哦,不好意思
是randn(m,n)
__________________
吾幼学文,10年不就,怒,遂习武,校场骑射,中鼓吏,乃逐,闭门研医良久,自攥一良方,服之,卒!!!
spy1120 当前离线   回复时引用此帖
回复


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

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



所有时间均为北京时间。现在的时间是 06:11


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