如何在matlab中找到集合的子集?

时间:2015-07-13 14:15:07

标签: matlab

我有一组有28名成员的数字。例如:

A=1:28;

我想将该组分为4个部分(每个部分包括7个数字)。我怎样才能找到所有子集?我更喜欢将子集保存在4个矩阵中,以计算每个子集和其他数学运算的总和。

1 个答案:

答案 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)。计算每个子集的大小并选择具有固定大小的子集。

- 一个非平凡的算法:它需要一个固定大小的初始子集。使用此集合,可以通过排列生成具有相同大小的其他类似子集。

如果您有任何其他问题,请告诉我。

干杯