Count the number of times a value repeats between certain rows in a matrix.

4 views (last 30 days)
Hi all,....if i had a Matrix Ex...A(2,5,15,65,102
2,65,1,105,55
65,104,15,19,5).....so on.
how to find the total number of times a value repeats between Row1 and Row2....Ans 2,65
then Row2 and Row3....Ans 65.
then Row3 and 4......and so on..
Also inputting which rows i want to check.....maybe between row1 and row4 for example....then row2 and row5....and so on,would be very helpful
Thank you.
  2 Comments
Matt J
Matt J on 19 Jan 2022
Why is ans 65 in rows 1 and 2? The number of common elements between the two rows is 2.
ray d
ray d on 19 Jan 2022
ok....im looking to find the common elements between rows 1 and 2...which would be 2..(value 2 and 65).yes..
then row2 and 3.....answer would be 1...(value65).
that make better sense.....than the actual values.

Sign in to comment.

Accepted Answer

Matt J
Matt J on 19 Jan 2022
A=[2,5,15,65,102;
2,65,1,105,55;
65,104,15,19,5];
skip=1;
A1=A(1:end-skip,:); A2=A(skip+1:end,:);
M=size(A,2);
result=0;
for i=0:M-1
result=result+sum(A1==circshift(A2,[0,i]),2);
end
result
result = 2×1
2 1
  3 Comments
Matt J
Matt J on 19 Jan 2022
Edited: Matt J on 19 Jan 2022
Note that if you have repetitions within a row,e.g.
A(1,:)=[2, 2 5,15,65,102]
you may get unexpected results.

Sign in to comment.

More Answers (1)

David Hill
David Hill on 19 Jan 2022
A=[2,5,15,65,102;2,65,1,105,55;65,104,15,19,5];
i=A(1,ismember(A(1,:),A(2,:)));
  2 Comments
ray d
ray d on 19 Jan 2022
Hi Dave....thank you for the answer...yes,thats what im looking for...but ...to count down thro the rows.....count same elements in row1 and 2.....then row2 and 3....then row3 and 4....and so on.....done with a loop??....n and n+1 for the rows??....im unsure.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!