matlab随机数的函数,matlab随机数函数均匀分布
1、⽣成[0,1]之间的随机数
r = rand(5)
r =
0.5468 0.6791 0.8852 0.3354 0.6538
0.5211 0.3955 0.9133 0.6797 0.4942
0.2316 0.3674 0.7962 0.1366 0.7791
0.4889 0.9880 0.0987 0.7212 0.7150
0.6241 0.0377 0.2619 0.1068 0.9037
2、⽣成[-5,5]之间的随机数
r = -5 + (5+5)*rand(10,1)
r =
3.1472
4.0579
-3.7301
4.1338
1.3236
-4.0246
-2.2150
0.4688
4.5751
4.6489
注:⽣成[a,b]之间的随机数:r = a + (b-a).*rand(N,1)
3、⽣成随机整数
r = randi([10 50],1,5)
r =
43 47 15 47 35
4、 ⽣成随机复数
a = rand + 1i*rand
a =
0.8147 + 0.9058i
5、重置 随机数发⽣器
matlab生成随机数s = rng;
r =rand(1,5)
r =
0.0975 0.2785 0.5469 0.9575 0.9649
将随机数种⼦保存在s中。若⽤s去 设置随机数种⼦,则下次获得的随机数数列与前⾯相同。
`rng(s);
r1 = rand(1,5)`
r1 =
0.0975 0.2785 0.5469 0.9575 0.9649
问:为什么每次重新启动后,产⽣的随机数是相同的?
答:随机函数
rand, randn, randi,randperm 的随机数⽣成器是相同的。每次重启matlab时,发⽣器会初始化到相同的状态。为了避免这种情况,可以使⽤:
rng('shuffle');
为了使每次重启的随机数相同,可设置:
rng('default');
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论