How can I use unique on two separate matrices?
Show older comments
I have two matrices; A (2300x57) and ALabels (2300x1). I am using unique() and histc() to count the number of occurrences of certain values in A.
for j = 1:57
values = unique(A(:,j);
count = histc(A(:,j),values);
end
This works as expected, it adds up the occurrences of certain values in A. However, suppose A can have values 0-2, and ALabels can have values 0-1. Is there a way to calculate the number of occurrences of certain values in two different matrices? So on a smaller scale, consider these two matrices:
A = [0 1 2 0 1 2; B = [0;
1 2 0 1 2 1; 1;
0 1 0 1 2 2]; 1];
How can you calculate how many times '2' occurs in A AND with a corresponding '1' in the same row in B and store each calculation per column in A? Apologies if that wasn't clear, I am having trouble wording it. I would like this to return some sort of matrix that displays (for previous example):
For each column in A
number of times (A = 0 and B = 0);
number of times (A = 1 and B = 0);
number of times (A = 2 and B = 0);
number of times (A = 0 and B = 1);
number of times (A = 1 and B = 1);
number of times (A = 2 and B = 1);
I would like to use unique() and histc() again, just using two matrices at once. If there isn't a way to do this with unique(), is there another way?
Answers (1)
dpb
on 29 Nov 2015
>> N=hist3([A(:,1) B],c)
N =
1 1
0 1
0 0
>>
Have to iterate over each column
Categories
Find more on MATLAB 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!