編寫測量矩陣代碼需要用到的幾個常見函數

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。。。。。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章