matlab 對數組隨機不放回採樣



有時候在學習過程中,需要對某數組進行不放回的隨機採樣;

使用matlab實現隨機採樣的程函數如下

將函數的m文件放在當前目錄下,即可在其他 m 腳本中調用詞函數進行不放回隨機採樣。

function sample = sampling( Lst, m )
    temp = Lst;
    l = length(Lst)
    sample = []
    %從 a 裏面隨機採十個樣本,存放在 sample 裏面
    for i = 1:m
        rdm_c = randi(l-i);
        sample(i) = temp(rdm_c);
        temp(rdm_c) = [];
    end
    sample
end

函數中的參數爲:

Lst : 採樣對象,數組

m   : 所需採樣的個數

最終的結果存在 sample 數組裏。

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