[問題] 排列組合問題

看板MATLAB作者 (什麼東西什麼東西)時間7年前 (2017/11/14 19:28), 7年前編輯推噓2(204)
留言6則, 4人參與, 7年前最新討論串7/7 (看更多)
目前有三個陣列 a=[a1 a2 a3] b=[b1 b2 b3 b4 b5] c=[c1 c2 c3] 需要組合出 (a1 c1) (a1 c2) (a1 c3) (a2 c1) (a2 c2) (a2 c3) (a3 c1) (a3 c2) (a3 c3) (a1 b1 c1) (a1 b1 c2) (a1 b1 c3) (a2 b1 c1) (a2 b1 c2) (a2 b1 c3) (a3 b1 c1) (a3 b1 c2) (a3 b1 c3) (a1 b1 b2 c1) (a1 b2 b1 c1) (a1 b1 b2 c2) (a1 b2 b1 c2) (a1 b1 b2 c3) (a1 b2 b1 c3) (a2 b1 b2 c1) (a2 b2 b1 c1) (a2 b1 b2 c2) (a2 b2 b1 c2) (a2 b1 b2 c3) (a2 b2 b1 c3) (a3 b1 b2 c1) (a3 b2 b1 c1) (a3 b1 b2 c2) (a3 b2 b1 c2) (a3 b1 b2 c3) (a3 b2 b1 c3) (a1 b1 b2 b3 c1) (a1 b1 b3 b2 c1) (a1 b2 b1 b3 c1) (a1 b2 b3 b1 c1) (a1 b3 b1 b2 c1) (a1 b3 b2 b1 c1) (a1 b1 b2 b3 c2) (a1 b1 b3 b2 c2) (a1 b2 b1 b3 c2) (a1 b2 b3 b1 c2) (a1 b3 b1 b2 c2) (a1 b3 b2 b1 c2) (a1 b1 b2 b3 c3) (a1 b1 b3 b2 c3) (a1 b2 b1 b3 c3) (a1 b2 b3 b1 c3) (a1 b3 b1 b2 c3) (a1 b3 b2 b1 c3) (a2 b1 b2 b3 c1) (a2 b1 b3 b2 c1) (a2 b2 b1 b3 c1) (a2 b2 b3 b1 c1) (a2 b3 b1 b2 c1) (a2 b3 b2 b1 c1) (a2 b1 b2 b3 c2) (a2 b1 b3 b2 c2) (a2 b2 b1 b3 c2) (a2 b2 b3 b1 c2) (a2 b3 b1 b2 c2) (a2 b3 b2 b1 c2) (a2 b1 b2 b3 c3) (a2 b1 b3 b2 c3) (a2 b2 b1 b3 c3) (a2 b2 b3 b1 c3) (a2 b3 b1 b2 c3) (a2 b3 b2 b1 c3) ... 依此類推 請問列出所有狀況的排序怎麼寫會比較好 內建的Function 也行但是好像有大小限制 目前只想到a陣列跟c陣列先排完 b陣列自己跟自己排完後再把兩個結果展開結合 不過b陣列這邊目前不知道該怎麼寫 現在是matlab新手有點苦腦 UPDATE: 不好意思修正了一下 之前漏打了c3的組合 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.21.235.222 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1510658913.A.7B6.html

11/14 21:34, 7年前 , 1F
a3 c3 沒用到?
11/14 21:34, 1F

11/15 14:41, 7年前 , 2F
你應該可以理出一個規則 這樣大家才可以告訴你怎麼寫
11/15 14:41, 2F

11/15 14:56, 7年前 , 3F
我完全看不出要怎麼類推...
11/15 14:56, 3F
※ 編輯: OpenGoodHate (111.83.2.131), 11/15/2017 19:16:25

11/15 20:22, 7年前 , 4F
n=3;bb=perms(b(1:n));[A,B,C]=ndgrid(a,1:size(bb,1),c);
11/15 20:22, 4F

11/15 20:23, 7年前 , 5F
[A(:), bb(B(:),:), C(:)]
11/15 20:23, 5F

11/17 22:15, 7年前 , 6F
感謝S大,目前暫時拿S大的code來修改中
11/17 22:15, 6F
文章代碼(AID): #1Q2jDXUs (MATLAB)
文章代碼(AID): #1Q2jDXUs (MATLAB)