How to compare two matrix and then count each elements?

3 views (last 30 days)
The elements of A will be checked and compared with B, with each element count S will increase and with each absence count R will increase.
A=[3 5 7]
B=[1 3 4 5 7]
  5 Comments
Stephen23
Stephen23 on 8 Jun 2018
"I want to count how many similar elements are there in A in compare to B"
That is what my answer does. You might also like to read about intersect and setdiff.
suchismita
suchismita on 8 Jun 2018
S = nnz(ismember(A,B)) this is working but if I am changing value of A as A= [2 5 7] then I want my answer as S=2 and R=1

Sign in to comment.

Accepted Answer

Stephen23
Stephen23 on 6 Jun 2018
Some variety of these might do what you want (although those examples are not very enlightening)
>> S = nnz(ismember(A,B))
S = 3
>> R = nnz(ismember(B,A))
R = 3
  2 Comments
suchismita
suchismita on 9 Jun 2018
please help me. S value is OK but how can I count dissimilar value.
Stephen23
Stephen23 on 10 Jun 2018
Edited: Stephen23 on 10 Jun 2018
"but how can I count dissimilar value."
ismember returns a logical array. Negate that array to get the dissimilar values:
~ismember(...)

Sign in to comment.

More Answers (1)

Pratik Panchal
Pratik Panchal on 6 Jun 2018
It is not clear whether S and R are increasing if the values of A are same as values of B or regardless. Also what do you mean by 'absence'?
Anyway for the comparison You can use a for loop in this.
for k=1:length(A)
for j=1:length(B)
if A(k)==B(j);
%Insert your condition here
else
%Insert your second condition here
end
end

Community Treasure Hunt

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

Start Hunting!