1.randperm
>> 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。。。。。