matlab中怎样生成随机数——随机数生成函数rand家族

随机数的生成在算法编程中非常常用,在matlab中rand(random的缩写)家族经常被使用。
小白一枚,敬请大神指教

rand家族成员

  1. randMatrix = rand(x, y)
  2. randMatrix = randn(x, y)
  3. randMatrix = randi(x, y)
  4. randMatrix = randperm(x, y)
  5. rng 使用方法

rand

随机生成一组数,数值范围在[0, 1]之间,所生成的随机值服从随机分布。

rand(x) or rand(x, y)

rand(x) :这种形式的写法默认随机生成维度为x的方阵。

>> randMatrix = rand(3)

randMatrix =

    0.8147    0.9134    0.2785
    0.9058    0.6324    0.5469
    0.1270    0.0975    0.9575

rand(x, y):这种形式的写法随机生成行数为x,列数为y的矩阵。

>> randMatrix = rand(2,3)

randMatrix =

    0.9649    0.9706    0.4854
    0.1576    0.9572    0.8003

randn

该函数生成服从标准正态分布的随机数。

randn(x) or randn(x, y)

randn(x): 生成标准正态分布的随机数方阵,大小为:-x- by -x-

>> randMatrix = randn(3)

randMatrix =

   -0.2050    1.4090   -1.2075
   -0.1241    1.4172    0.7172
    1.4897    0.6715    1.6302

randn(x, y) :生成服从标准正态分布的随机数矩阵。大小为:-x- by -y-

>> randMatrix = randn(2,3)

randMatrix =

    0.4889    0.7269    0.2939
    1.0347   -0.3034   -0.7873

randi

该函数也具有常用的两种形式:randi(x) or randi(x, y).使用方法和上述的rand和randn一样。

randperm

该函数功能是生成一组整数,并将顺序随机打乱。这种打乱顺序,完全随机,并不服从什么分布。
例1:

>> randperm(5)

ans =

     2     4     5     3     1

randperm(5), 表示生成从1到5的五个为整数,并随机打乱顺序。
例2:

>> randperm(10, 3)

ans =

     4     6     5

randperm(10, 3),表示生成从1到10的10整数,将顺序随机打乱,并将前三个整数返回。

探索篇——rng 使用方法

在一些随机生成参数的神经网络算法中,将某一次预测结果较高的随机参数在下一次随机生成中进行使用时,rng函数算是一种方式。它可以将上一次随机生成的随机数,进行保存,并在下一次随机生成时进行调用,使得前后两次随机生成的随机数相同。

>> randNum = rng;
>> rand_1 = rand(3)

rand_1 =

    0.2238    0.5060    0.9593
    0.7513    0.6991    0.5472
    0.2551    0.8909    0.1386

>> rng(randNum);
>> rnad_2 = rand(3)

rnad_2 =

    0.2238    0.5060    0.9593
    0.7513    0.6991    0.5472
    0.2551    0.8909    0.1386

rng 函数在使用时,还可以指定随机生成的类型(rand, randi,randn)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值