我有一组有28名成员的数字。例如:
A=1:28;
我想将该组分为4个部分(每个部分包括7个数字)。我怎样才能找到所有子集?我更喜欢将子集保存在4个矩阵中,以计算每个子集和其他数学运算的总和。
答案 0 :(得分:-1)
关于实施,请看看: http://matlabtricks.com/post-9/get-all-subsets-having-a-given-length ,作者提出了两种实施方式。
- 天真的方式:枚举除空集之外的集合的所有子集,这可以通过二进制分解的技巧来实现(参见http://matlabtricks.com/post-7/select-all-subsets-of-a-set)。计算每个子集的大小并选择具有固定大小的子集。
- 一个非平凡的算法:它需要一个固定大小的初始子集。使用此集合,可以通过排列生成具有相同大小的其他类似子集。
如果您有任何其他问题,请告诉我。
干杯