rand
- matlab中通过rand函数产生的是介于0到1(不包括1)之间的伪随机数
X = rand
范围(0,1).X = rand(n)
表示产生一个n×n的随机矩阵,n必须是整数,否则会报错。X = rand(sz1,...,szN)
X = rand(sz)
X = rand(___,typename)
X = rand(___,'like',p)
- 可以与取整函数搭配使用
- 为了使每次执行rand函数时产生和之前不相同的一组伪随机数,通常需要初始化随机数种子。方法很多, 常见的一种是在写m文件时,在程序的开头写:
rand('state',sum(100*clock))
定义一个随时间变化的初值。
randi
- randi 均匀分布的伪随机整数
- 最新英文文档(推荐)
- randi函数产生均匀分布的伪随机整数(Uniformly distributed pseudorandom integers)
X = randi(imax)
返回一个介于1到imax的伪随机整数,闭区间[1,imax].X = randi(imax,n)
返回一个在[1,imax]范围内的n*n的伪随机整数矩阵X = randi(imax,sz1,...,szN)
X = randi(imax,sz)
X = randi(imax,classname)
X = randi(imax,n,classname)
X = randi(imax,sz1,...,szN,classname)
X = randi(imax,sz,classname)
X = randi(imax,'like',p)
X = randi(imax,n,'like',p)
X = randi(imax,sz1,...,szN,'like',p)
X = randi(imax,sz,'like',p)
X = randi([imin,imax],___)
指定生成区间
randi([1,4])
,生成[1,4]的随机整数- 栗子:
1
2
3
4
5
6
7
8
9
10
11
12
13%生成一个由样本区间 [-5,5] 中均匀分布的随机整数组成的 10×1 列向量。
r = randi([-5,5],10,1)
r = 10×1
3
4
-4
5
1
-4
-2
1
5
5
randperm
- randperm
- 语法:
p = randperm(n)
返回行向量,其中包含从 1 到 n(包括二者)之间的整数随机置换。p = randperm(n,k)
返回行向量,其中包含在 1 到 n(包括二者)之间随机选择的 k 个唯一整数。
1 | randperm(6) |