Re: [問題] 關於排列組合 數字不能重複的問題已回收

看板MATLAB作者 (dadama)時間15年前 (2008/09/21 00:28), 編輯推噓4(403)
留言7則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《some2000 (@@)》之銘言: : Elapsed time is 5350.824165 seconds. : 這個時間實在慢到嚇死人.. : 不知道有沒有辦法能夠改進的? : 謝謝大家 QQ 不知道有沒有誤會你的意思(tt2_c2貌似一維向量) 我提供其他兩種寫法 如果沒有會錯意,第二種比較快 % method1, 迴圈越多越慢 temp = size(tt2_c2,1)-2; Otwo = zeros(temp,3); for i=1:temp Otwo(i,1:3)=[tt2_c2(i) tt2_c2(i+1) tt2_c2(i+2)]; end % method2, 沒有迴圈最快 temp = size(tt2_c2,1)-2; Otwo = [tt2_c2(1:temp) tt2_c2(2:temp+1) tt2_c2(3:temp+2)]; ※ 編輯: dadama1114 來自: 122.125.192.61 (09/21 00:56)

09/21 10:32, , 1F
感謝你的回覆 只是這跟我的意思好像不太一樣 @@
09/21 10:32, 1F

09/21 10:32, , 2F
我要的是所有情況的排列組合 不是三個為一組的單向排列
09/21 10:32, 2F

09/21 10:33, , 3F
所以我code上才會註解C146取3 146*145*144/3*2="508080"
09/21 10:33, 3F

09/21 10:34, , 4F
所以才會跑 5350s 這麼慢 QQ
09/21 10:34, 4F

09/21 13:39, , 5F
nchoosek(1:146,3) 還可以跑
09/21 13:39, 5F

09/21 14:13, , 6F
感謝樓上 我試試看@@
09/21 14:13, 6F

10/03 15:13, , 7F
拙作#8616篇不知道有沒有幫助
10/03 15:13, 7F
文章代碼(AID): #18rIJBcb (MATLAB)
文章代碼(AID): #18rIJBcb (MATLAB)