Add element inside cell with combination

1 次查看(过去 30 天)
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]

采纳的回答

KSSV
KSSV 2022-7-22
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

更多回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Data Types 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by