MATLAB: How the concatenate every combination of vectors

concatenatevectors

Hello everybody,
I have 6 vectors and i want to concatenate every combination between these vectors in one individual vector. Let's call the six vectors a,b,c,d,e,f.What I want to do is create a several concatenated vector like this:
first_vector=[a]; second_vector=[b]; (...); n_vector=[a b]; (...); last=[a b c d e f];
Can somebody help me? Joaquim

Best Answer

allvectors = {a, b, c, d, e, f}; %cell array of all the vectors
allcombs = {};
for c = 1:numel(allvectors)
combidx = nchoosek(1:numel(allvectors), c);
ccombs = cell(size(combidx, 1), 1);
for row = 1:numel(ccombs)
ccombs{row} = [allvectors{combidx(row, :)}];
end
allcombs = [allcombs; ccombs];
end