MATLAB Answers

Arrange be in order of their pairing, and count how many times they appear

1 view (last 30 days)
JL
JL on 12 Aug 2019
Commented: JL on 17 Aug 2019
I have 2 matices, A and B. What I want to do is for B to be rearranged like C, and remove any repreated row.
A = [1; 2; 3; 4; 5; 6;];
B = [1 2; 2 3; 1 2; 1 3; 1 4; 1 2;]
I would like to produce C with A and B
C = [1 2;
1 3;
1 4;
2 3;]
Thereafter, after reordering them, I want to add the same pair i.e. add all the 1 2s together like in D.
D = [1+3+6;
4;
5;
2;];
= [9;
4;
5;
2;];

  0 Comments

Sign in to comment.

Accepted Answer

the cyclist
the cyclist on 12 Aug 2019
[C,~,idx] = unique(B,'row');
D = accumarray(idx,A);
1 + 3 + 6 = 10. ;-)

  2 Comments

dpb
dpb on 12 Aug 2019
My interpretation is that D should be
>> accumarray(ix,sum(B,2))
ans =
9
4
5
5
>>
but the description is confusing at best and the answer presented isn't correct whichever is the actual definition wanted...

Sign in to comment.

More Answers (0)