[問題] 如何亂數取出30筆資料但不重覆已回收

看板MATLAB作者 (孚爸)時間16年前 (2010/05/29 13:01), 編輯推噓0(007)
留言7則, 2人參與, 最新討論串1/1
各位大大 我要從test-100.xls中的100筆資料中 隨機取出30筆 但目前我用以下的程式取的30筆 會發生有些值被重覆取出了 應該是用rand的那兒的問題 不知有無大大可以提供我建議 如何修改, 讓取出的30筆都是不同的 程式碼如下 clear all; ram=[]; ram_save=[];%將rand亂數抽樣的30筆數值存在ram_save中,以供之後使用 ram_save1=[]; result=[]; result_else=[]; max=30;%要隨機抽取的數量 pointset=xlsread('test-100.xls');%要讀取的檔名 num=size(pointset); num=num(1,1); for i=1:max ram(i)=round(100*rand(1)); result(i,1)=pointset(ram(i),1); result(i,2)=pointset(ram(i),2); result(i,3)=pointset(ram(i),3); result(i,4)=ram(i); %為了要產出後驗證看看內容是否正確之用 ram_save(i)=ram(i); end 拜託... 很急.. 感恩大大們 -- 阿孚的DIY.手作木工.拼布作品的天地 http://blog.udn.com/ying65176517 http://tw.myblog.yahoo.com/ying65176517-ying65176517/ http://blog.yam.com/ying65176517 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.59.125.129

05/29 13:52, , 1F
pointset=xlsread('test-100.xls');
05/29 13:52, 1F

05/29 13:52, , 2F
randsample(pointset,max)%函數預設不重複抽取
05/29 13:52, 2F

05/29 14:05, , 3F
不好意思.出現 ??? Error using ==> randsample at34
05/29 14:05, 3F

05/29 14:06, , 4F
POPULATION must be a vector.
05/29 14:06, 4F

05/29 14:07, , 5F
我是新手..可否再細講一下..
05/29 14:07, 5F

05/29 15:24, , 6F
我test出來了..
05/29 15:24, 6F

05/29 15:26, , 7F
我用randsample(num,max)就可以了..感謝
05/29 15:26, 7F
文章代碼(AID): #1C09-Rzj (MATLAB)
文章代碼(AID): #1C09-Rzj (MATLAB)