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、重置 随机数发生器

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');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值