[討論]如何產生0與1組成的矩陣的排列組合
目前在matlab上遇到了些問題,所以到這個版上來請教各位,
請問若我有n個0,m個1,n與m有可能都很大,組成一個1X(n+m)的矩陣,
若我想得到所有組合,請問該怎麼做?
一開始我的想法是:
n %1的數目
m %0的數目
A=[zeros(1,n) ones(1,m)]
B=perms(A)
C=unique(B,'rows')
但是perms裡面的值不能大於10個,
由於我的n+m一定大於10,
所以這方法就不適用了,
請問除了使用perms的方法,還有其他方法能解決嗎?
先在這邊謝謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.213.228.38
※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1405445694.A.A4C.html
推
07/16 09:05, , 1F
07/16 09:05, 1F
噓
07/18 12:48, , 2F
07/18 12:48, 2F
→
07/18 22:13, , 3F
07/18 22:13, 3F
j大您好,您提供的資料非常有用,非常抱歉這麼晚才回覆您,
因為當時還有另一個問題想說能不能用您提供的資料來解決,
這樣就不用上來再問一遍了,
沒有及時回覆您在這裡跟您說聲抱歉,
這邊還有另一個問題想再請教版上的各位,
假設有一個1Xn的矩陣,
矩陣內的元素可重複且相加要等於K,
並得出所有的組合
例如:
n=5
K=10
A=[a1 a2 a3 a4 a5]
a1+a2+a3+a4+a5=10
一開始我的想法是先跑出所有可能的組合數,
再利用if判斷來挑出符合的矩陣,
因為我的寫法會把
[1 1 1 1 1 ]
[2 2 2 2 2 ]
...
[10 10 10 10 10 ]
這幾種可能都跑過,
所以當n與K很大時,
處理時間便會非常久,
且有可能會out memory,
所以想請問版上的各位是否有其他的方法能解決,
謝謝
※ 編輯: mann0614 (49.213.228.38), 07/19/2014 00:56:44
推
07/19 15:16, , 4F
07/19 15:16, 4F
→
07/19 15:17, , 5F
07/19 15:17, 5F
→
07/19 15:17, , 6F
07/19 15:17, 6F
→
07/19 15:18, , 7F
07/19 15:18, 7F
推
07/19 21:27, , 8F
07/19 21:27, 8F
→
07/20 10:31, , 9F
07/20 10:31, 9F
→
07/20 10:31, , 10F
07/20 10:31, 10F
→
07/20 10:31, , 11F
07/20 10:31, 11F
→
07/20 10:31, , 12F
07/20 10:31, 12F
推
07/20 13:30, , 13F
07/20 13:30, 13F
→
07/20 13:33, , 14F
07/20 13:33, 14F
→
07/20 13:34, , 15F
07/20 13:34, 15F
推
07/20 13:36, , 16F
07/20 13:36, 16F
→
07/20 13:37, , 17F
07/20 13:37, 17F
→
07/20 13:37, , 18F
07/20 13:37, 18F
→
07/20 13:37, , 19F
07/20 13:37, 19F
→
07/22 00:02, , 20F
07/22 00:02, 20F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章
6
27