MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   【求助】新人求助!如果生成符合区间为(-1,1)的标准正态分布随机数! (https://www.labfans.com/bbs/showthread.php?t=191)

chenhuips2 2007-05-19 17:51

【求助】新人求助!如果生成符合区间为(-1,1)的标准正态分布随机数!
 
RT
最近因工作需要写小工具!
均值分布随机数不符合工具要求~
所以需要生成符合正态分布随机数~
但是不知道怎么弄~
请高手解答!
3Q!
:confused: :confused: :confused:

ciji1995 2007-05-19 18:05

先用normrnd(mu,sigma),然后再sign一下行不?

chenhuips2 2007-05-19 18:12

[QUOTE=ciji1995;536]先用normrnd(mu,sigma),然后再sign一下行不?[/QUOTE]

这个不行啊~
sign是取符号,
结果出来不是-1就是1。
我需要的是生成一组以标准正太分布在(-1,1)之间的的随机数!

ciji1995 2007-05-19 18:23

哦,刚没注意,再想想:confused:

spy1120 2007-05-19 19:13

randn函数应该也可以

spy1120 2007-05-19 19:16

比如:
>> 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

chenhuips2 2007-05-19 19:40

[QUOTE=spy1120;543]比如:
>> 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...[/QUOTE]

请问为什么要加sin函数?
可以解释一下机制吗?

spy1120 2007-05-19 20:16

rand(m,n)产生正态分布的m行n列随机数矩阵,其均值为0,标准差为1。但产生的数也有比1大比-1小的,所以我加个sin,但现在想想那也不能加,呵呵

chenhuips2 2007-05-20 17:18

[QUOTE=spy1120;551]rand(m,n)产生正态分布的m行n列随机数矩阵,其均值为0,标准差为1。但产生的数也有比1大比-1小的,所以我加个sin,但现在想想那也不能加,呵呵[/QUOTE]

rand()
只是在(0,1)区间上产生均值分布的随机数。
现在我我对自己写得工具做了修改~
如果能够在(0,1)区间产生正态分布随机数也是可以使用的~
但是就是找不到合适的命令和方法来实现他~

spy1120 2007-05-20 20:40

哦,不好意思
是randn(m,n)


所有时间均为北京时间。现在的时间是 08:57

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