[問題] 抽取兩不同之隨機整數已回收

看板MATLAB作者 (PENTAX Optio 30)時間14年前 (2009/11/10 17:59), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
要從數字1到20之中隨機抽取兩個不同的數字 我想到的方法是用randperm來寫 a = randperm(20) 取a(1)和a(2)就可以得到所求 但是學長說randperm是以超幾何分配來排列 不夠隨機 第一個數的機率是20分之一 第二個數的機率變成19分之一 以此類推... 他教我用randint來寫 a = randint(1,2,20)+1 可是這樣卻有機率會得到兩個相同的數 又要夠"隨機"...(如果不要用IF來重新求解的話) 大家可以幫我想看看有哪些方法可以求解嗎? 雖然我是覺得... randperm應該是OK的...... -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.138.143.183

11/10 21:08, , 1F
覺得randperm OK,或rand(1,20)最大值或最小值之index選取
11/10 21:08, 1F

11/10 21:39, , 2F
rand(1,20)最大值或最小值之index選取!! 好厲害啊~!
11/10 21:39, 2F

11/10 21:39, , 3F
沒想過可以用index來抓 真是太感謝了!!
11/10 21:39, 3F
文章代碼(AID): #1A-Jb-1N (MATLAB)