Add element inside cell with combination

1 view (last 30 days)
NA
NA on 22 Jul 2022
Commented: NA on 22 Jul 2022
I have a cell A.
A = {[],[1,2],[3,4],[5,6]}
I want to add each element inside the cell A in a combination.
This is the result I want
1+3+5 ---> 9
1+3+6 ---> 10
1+4+5 ---> 10
1+4+6 ---> 11
2+3+5 ---> 10
2+3+6 ---> 11
2+4+5 ---> 11
2+4+6 ---> 12
result = [9;10;10;11;10;11;11;12]

Accepted Answer

KSSV
KSSV on 22 Jul 2022
A = {[],[1,2],[3,4],[5,6]} ;
A = A(~cellfun('isempty',A)) ; % REmove empty cells
[I{1:numel(A)}] = ndgrid(A{:}) ;
thesum = I{1} ;
for i = 2:numel(A)
thesum = thesum+I{i} ;
end
iwant = thesum(:)
iwant = 8×1
9 10 10 11 10 11 11 12

More Answers (1)

David Hill
David Hill on 22 Jul 2022
[a,b,c]=meshgrid(A{2},A{3},A{4});
s=sum([a(:),b(:),c(:)],2);

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by