How to compare the first column of the rows to whole matrix?
Show older comments
I am trying to compare the first columns of rows to whole matrix, and try to find how many times each value occur in the matrix. For example, let
A = [2 4 6 1;
3 7 18 24;
4 2 6 0;
5 8 12 17;
6 2 4 0;
7 3 18 24];
I want to find how many times the row values [2 3 4 5 6 7] occur in the matrix. I can easily find it using for loop, but I don't want any loop. I am also not good at using arrayfun. Can somebody help me?
Thanks.
1 Comment
José-Luis
on 23 Oct 2014
The first column of rows?!?!
Accepted Answer
More Answers (2)
Roger Stafford
on 24 Oct 2014
Edited: Roger Stafford
on 24 Oct 2014
C = sum(bsxfun(@eq,A(:,1),A),2)-1; % <-- Counts (not counting column 1)
1 Comment
Andrei Bobrov
on 24 Oct 2014
C = sum(bsxfun(@eq,A(:,1),reshape(A,1,[])),2);
Categories
Find more on Logical 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!