Add element inside cell with combination

3 views (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);

Categories

Find more on Linear Algebra in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!