我有n=100
和一个set{1,2,3,...,100}
。对于此集合,我有2^100-1
子集。我想在每个循环中设置功率:
for i=1:2^100-1
Index=XXX
(function require Index)
end
我希望在i=1
,Index=1
,i=2
,Index=2
,...,i=100
,Index=100
,{{1 }},i=101
,Index=[1,2]
,i=102
等。因此,从Index=[1,3]
到i
运行1
意味着运行所有功率集。以前,我发布了类似的问题How to obtain power set?。但是似乎不合适。有什么方法吗?
答案 0 :(得分:-1)
您确定要执行此操作吗?特别是在Matlab中?如果是这样,请考虑以下事项:
如果我理解您的问题,则希望遍历原始集{1,2,3, ... , 100}
的每个子集。只要考虑一下每种情况下元素是否在集合中即可。然后将二进制数从o计数到100,并可能排除空集。
如果您具有提供de2bi
功能的通讯工具箱,则这非常简单:
set = [1,2,3, ... , 100];
for i=1:2^100-1
Index=set(de2bin(i,100));
(function require Index)
end