Matlab中随机数rand等的用法

Matlab中有关随机数rand的函数有非常多,希望能在这片文章中进行总结汇总,会随着我看的程序不断更新。

rand()

rand()函数主要的功能是生成0-1之间的随机数,其中输入参数决定生成的是单个随机数、随机数向量还是矩阵,具体例子如下:

产生单个随机数

函数:rand()
结果:
产生单个随机数
产生单个随机数尺寸

产生随机数向量

函数:rand(1,3)
结果:
产生随机数向量
产生随机数向量尺寸

产生随机数矩阵

函数:rand(2,3)
结果:
产生随机数矩阵
产生随机数矩阵尺寸
这里需要注意当rand()只有一个int输入参数时,生成的不是向量,而是一个方阵,例子如下:
函数:rand(3)
结果:
产生随机数方阵
产生随机数方阵尺寸

使用rand()生成某范围内随机数

通过上面的例子我们知道,rand()可以生成0-1的随机数,但如果我们希望生成某范围内的随机数应该怎么办,例子如下:

生成0-n范围内的随机数

rand()*n

生成m-n范围内的随机数

m<n

m+rand()*(n-m)

rand()中seed的用法

seed的目的是为了让随机数产生的不那么随机,使用方法如下:

n=5;
rand('seed',n); %在用rand()生成随机数前,使用seed,这里的n为一确定整数
rand(1,3)

结果:
在这里插入图片描述
在这里插入图片描述
思考:
通过上面的例子,我们可以看出,每一个整数seed,相当于对应了一个随机数的库,当确定了seed的值后,也就相当于告诉了rand()需要去哪个随机数库中不断取随机数。所以虽然rand(‘seed’,n)之后,每次rand()的值不是相同的,但每次rand(‘seed’,n)之后,第一次的rand()的值是相同的,第二次对应的rand()的值也是相同的。

rand(‘seed’,n)设定后,除了对rand()生效,对所有类似的随机数产生函数都生效。

randperm()

主要功能:随机生成一个由整数构成的向量。
其可以有一个输入参数randperm(n)
或两个输入参数randperm(m,n)

一个输入参数

函数格式:randperm(n)
功能:将1-n这n个整数随机排列成一个向量
结果
在这里插入图片描述

两个输入参数

函数格式:randperm(m,n)
功能:在1-m这m个整数中,随机选取n个,并随机排列成一个向量(m需要大于n)
结果
在这里插入图片描述

randperm()的常用方法

randperm()经常用来调换矩阵中行或者列的顺序:
当我们需要对原矩阵中的行或者列进行重新的随机排列时,使用randperm()是非常合适的,具体例子如下:
在这里插入图片描述

参考

https://blog.csdn.net/weixin_41058790/article/details/80277878
https://blog.csdn.net/xuxinrk/article/details/80961657
https://blog.csdn.net/ac540101928/article/details/53067960

  • 11
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值