Re: [問題] 想請問將OEA_member分成n組已回收

看板MATLAB作者 (victory)時間17年前 (2009/01/05 01:11), 編輯推噓1(104)
留言5則, 2人參與, 最新討論串3/3 (看更多)
※ 引述《chibamo (機掰毛)》之銘言: : 假設有N個人 : 每個人給他隨機產生一個1~N的整數代表分到哪組 : ※ 引述《victer0327 (victory)》之銘言: : : 現在在寫一個演算法,因為其中提到分組要隨機,但不會做,所以來請教高手們 : : 程式碼如下: : : % CoopAnnex_Org ->是組織的成員(n*13) : : k = size(CoopAnnex_Org); : : kk = k(1,1); : : sequence_k = (1:kk) : : random_k = randint(1,kk,[1 kk]) : : group_k = [sequence_k;random_k] : : ----------------------- : : 如同上面程式碼的group_k大概想呈現的,每個成員都會分到某組 : : 由於成員數是隨機的,故組數也是隨機的(亦即最多可能每人一組;最少則是全部人一組) : : 請問該如何寫,才能將他們分組呢? : : p.s. 每組人數可能不同,所以並非每組都相同人數 恩...我說漏了 因為接下來我要隨機取其中兩組作運算,直到剩最後一組為止 假設A, B, C, D, E 組 A,C運算完,存入暫存區; D,E運算,存入暫存區; 然後只剩B,直接存入暫存區 希望可以有人教我怎麼寫這一步驟,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.135.113.80 ※ 編輯: victer0327 來自: 140.135.113.80 (01/05 01:33)

01/05 02:03, , 1F
假設你分出M組, X = randperm(M), for k=1:M,
01/05 02:03, 1F

01/05 02:04, , 2F
X(1,k)跟X(1,k+1)這兩組去做你所要的運算, end
01/05 02:04, 2F

01/05 02:06, , 3F
if mod(M,2)~=0, X(1,end) 這組丟入暫存區 end
01/05 02:06, 3F

01/05 02:11, , 4F
有點小瑕疵 ..k=1:M的部分 你改一下吧 囧..該睡覺了 XD
01/05 02:11, 4F

01/05 02:19, , 5F
喔~大概了解,感謝
01/05 02:19, 5F
文章代碼(AID): #19OEsj81 (MATLAB)
文章代碼(AID): #19OEsj81 (MATLAB)