我想为每个(非空)'子矢量'运行代码。一些向量v
。例如:
v=1:3; % [1,2,3]
Pv = subsets(v); % { [1,2,3], [1,2], [1,3], [2,3], [1], [2], [3], [] }
for s in Pv
% do things depending on each s in Pv;
end
但我不知道matlab中的任何subsets(...)
。怎么办呢?
我意识到这是非常低效的,但我这样做是出于指导目的,而不是效率。
答案 0 :(得分:0)
for ii=0:2^length(v)
idx = logical( dec2bin( ii, length(v) )'-'0' );
% do things to v(idx)
end
请务必检查v(idx)
是否为空。