有時候在學習過程中,需要對某數組進行不放回的隨機採樣;
使用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 數組裏。