On a symmetrical matrix how do you calculate the sum of every possible combination of 3 elements ?

1 view (last 30 days)
I have a 10X10 Symmetrical Matrix, Where the Columns and Rows are both S1 to S10 shown below,
What I need is a code that will get me the sum of every possible combination of 3, example: S3,S4,S8 = sum of S3S4 ,S3S8, S4S8

Answers (1)

Walter Roberson
Walter Roberson on 12 Feb 2016
M = dec2bin(0:2^10-1,10) - '0';
mask = sum(M,2) == 3;
M = M(mask,:);
sums = M * S;
  1 Comment
Walter Roberson
Walter Roberson on 13 Feb 2016
By the way, my estimate is that this is cost-effective up to roughly 22 elements in the original matrix, after which the memory requirements slow it too much. There are other ways to write it that would use less memory.

Sign in to comment.

Categories

Find more on Resizing and Reshaping Matrices 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!