[問題] 隨機選取問題已回收

看板MATLAB作者 (k1204)時間16年前 (2009/03/08 17:20), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
假設我有1000筆資料 D=[1 2 3 ...1000],這1000筆資料值都不一樣 我想從這1000筆資料中隨機選選取256筆,請問如何選出的256筆資料不重覆 我目前唯一的想法就是使用while迴圈 while(counter~=256) x[counter]=rand(1); if(x == 前面選過的索引值) 重新在隨機選; else counter++; end end 但這樣作非常沒有效率,所以想請問各位大大們,有沒有相關指令 可以將隨機產生的值不重覆呢? 先謝過大家的回答^^~ --------------------------------------- 自己剛是爬文的發法解決了,提供給大家參考一下 s=1:1000; index=randperm(length(s)); rand_s=s(index(1:256)); 這樣256筆就不會重覆了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.232.124 ※ 編輯: k1204 來自: 218.173.232.124 (03/08 17:44)

03/08 17:44, , 1F
index=randperm(1000); ans=D(index(1:256))
03/08 17:44, 1F

03/08 17:45, , 2F
感謝a大的回答^^~
03/08 17:45, 2F
文章代碼(AID): #19iutOmr (MATLAB)
文章代碼(AID): #19iutOmr (MATLAB)