Re: [問題] 關於取亂數值卻又不重複的功能?已回收

看板MATLAB作者 (台南=熱)時間15年前 (2010/10/13 02:44), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/4 (看更多)
我的做法是 nu=ceil(42*rand(1)); a=2; while a<7 nu(a)=ceil(42*rand(1)); if size(find(nu==nu(a)))<2 a=a+1; end end 先取一個隨機數字,然後a<7的7是表示(7-1)取6個數字,如果要取10個,就把7改成11 他會取第二個數字,檢查是否與第一個相同,不同就在取下一個數字,相同就重取 請參考 ※ 引述《rhythmtmac (節奏T-Mac)》之銘言: : 小弟是第一次上板請教問題 : 問題可能較膚淺但是極想解惑 還請各位先進指教~ 感恩!!! >_< : 就是有關以下一列簡單的程式碼: : ceil(42*rand(1,6)) : 是取六個亂數然後用 ceil指令將小數值無條件進位 : 但是如此程式取出的六個亂數中... 卻還是極容易出現重複的數值..! : 所以若想要令六個亂數不會重覆的最簡單作法 : 不知有沒有先進有好的辦法呢? : 若是沒有辦法太簡單也OK的! 就算改進後的程式或是方法較麻煩或較多行 : 小弟也願意學習吸收 ~ !! : 還請大家指教了 >_< 感恩大家!!!! <(_ _)> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.75.170
文章代碼(AID): #1CjHpnt8 (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1CjHpnt8 (MATLAB)