[問題] 請問一下關於亂數問題已回收

看板MATLAB作者 (*~ㄚ倫~*)時間15年前 (2010/09/09 17:58), 編輯推噓1(108)
留言9則, 3人參與, 最新討論串1/1
現在小弟我想產生一固定長度均勻分佈的0及1向量,產生之後想將亂數向量中的1 的個數固定為某個數值以下,如我需要4個以下的1: 亂數:0 1 0 1 1 1 0 0 0 1 =>多了一個1 故隨機把一個1變為0,(多兩個就兩個變為0以此類推..) 亂數:0 0 0 0 0 0 0 0 0 0 =>隨機在一個位置上將0變為1就好。 請問這樣該如何實現? 謝謝!感謝你的幫忙...小弟萬分感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.102.214

09/09 19:19, , 1F
用randperm 配合已經產生的矩陣
09/09 19:19, 1F

09/09 19:51, , 2F
不好意思是否能講解清楚點?萬分感謝
09/09 19:51, 2F

09/09 21:11, , 3F
1F的意思是說你先產生[ 1 1... 1 0 0 ... 0 0 ] 矩陣
09/09 21:11, 3F

09/09 21:12, , 4F
1與0的個數你先指定好,再用 randperm 打亂順序即可
09/09 21:12, 4F

09/09 21:21, , 5F
誤會了,我意思說是從隨機向量去改..並不是一開始就能設
09/09 21:21, 5F

09/09 21:22, , 6F
定1的個數 因為我是要修改隨機均勻分布的0及1的向量到條
09/09 21:22, 6F

09/09 21:22, , 7F
件下...不過感謝了
09/09 21:22, 7F

09/09 21:32, , 8F
是我誤會了… 不過還是可以用 randperm 指標來隨機將某個
09/09 21:32, 8F

09/09 21:33, , 9F
元素做你像要的改變
09/09 21:33, 9F
文章代碼(AID): #1CYA_Vq0 (MATLAB)
文章代碼(AID): #1CYA_Vq0 (MATLAB)