1.randperm
函数功能:随机打乱一个数字序列
randperm(n),其中n为整数。
例1:
>> randperm(5)
ans = 2 3 4 1 5
例2:
>> A = [1, 2, 3; 4, 5, 6; 7, 8, 9; 10, 11, 12]
rowrank = randperm(size(A, 1)); % 随机打乱矩阵的行数
B = A(rowrank, :)
A =
1 2 3
4 5 6
7 8 9
10 11 12
B =
4 5 6
10 11 12
7 8 9
1 2 3
2.randi
randi是matlab中能产生均匀分布的伪随机整数的新函数。
例:randi([0 1],1,10) %生成1*10的0、1随机的矩阵:
ans =
1 1 1 0 0 1 0 1 0 0
3.randn
用法:
(1)Y = randn(n)
返回一个n*n的随机项的矩阵。如果n不是个数量,将返回错误信息。"randn"是作为一个整体出现的,不能将此处的“n”替换为数字或其他字符,否则会返回“未定义与‘double’类型的输入参数相对应的函数‘rand2’”(以2替换“randn”中“n”为例)。
(2)Y = randn(m,n) 或 Y = randn([m n])
返回一个m*n的随机项矩阵。
(3)Y = randn(m,n,p,...) 或 Y = randn([m n p...])
产生随机数组。
(4)Y = randn(size(A))
返回一个和A有同样维数大小的随机数组。
(5)randn
返回一个每次都变化的数量。
注:其他类似函数:rand, randperm, sprand, sprandn。。。。。