作者super820914 (UnderWalk)
看板MATLAB
标题求救排列组合问题
时间Fri May 18 13:52:58 2018
请教版上各位强者,
假设现在有4个箱子,里面分别放了两颗球,也就是(1号,2号)、(3号,4号)、、、(7号,8号),
则需要列出2^4种组合情况,
意思是
[ 1,3,5,7 ; 1,3,5,8 ; 1,3,6,7 ; 1,3,6,8 ; ...2,4,6,8 ] 。
因为现在我需要用到2^16的所有可能性,所以用暴力解应该是会崩溃,目前只有想到用16次for回圈来产生,但觉得这样写起来很冗长,希望有高手能提供比较简洁的运算式子救救小弟我QQ
-----
Sent from JPTT on my HTC_M8x.
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.123.58.4
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1526622780.A.5C1.html
1F:推 LiamIssac: help一下 randperm 然後找看看那个toolbox里面的函数 05/18 16:01
2F:→ LiamIssac: 应该有你要的 05/18 16:01
3F:→ super820914: 好,谢谢L大提供的方向 05/18 16:59
4F:→ labbat: 试算一下有2520种组合? 05/18 22:21
5F:→ labbat: 痾 不同问题 05/18 22:22
6F:推 zhewei: dec2bin(0:2^4) 每一个bit代表一个箱子抽到第1个或第2个 05/21 11:30
7F:→ zhewei: 其中0代表第1个,0代表第2个,例如1101 结果为2,4,5,8 05/21 11:31
8F:推 zhewei: dec2bin(0:2^4-1) //更正!! 05/21 11:33
9F:推 sunev: ndgrid 05/21 11:36