필터 지우기
필터 지우기

How to count the frequency of each type of column vector present in a matrix

조회 수: 2 (최근 30일)
I have a matrix R(21,3)
R=[1,1,1,2,2,2,1,2,2,1,4,2,2,2,2,1,2,1,3,1,1;1,1,2,2,2,1,2,2,1,4,2,2,2,2,1,2,1,3,1,1,1;1,2,2,2,1,2,2,1,4,2,2,2,2,1,2,1,3,1,1,1,1];
and I would like to count the frequency of each column vector present from the whole matrix. For instance column vector a=[2,2,2]' is present 3 times, vector b=[2,2,1]' is present 3 times, vector c=[1,4,2]' is present only once. A table with all column vectors and their frequency.

채택된 답변

David Hill
David Hill 2021년 3월 18일
R=[1,1,1,2,2,2,1,2,2,1,4,2,2,2,2,1,2,1,3,1,1;1,1,2,2,2,1,2,2,1,4,2,2,2,2,1,2,1,3,1,1,1;1,2,2,2,1,2,2,1,4,2,2,2,2,1,2,1,3,1,1,1,1];
a=[2 2 2];
nnz(ismember(R',a,'rows'));
  댓글 수: 4
Radu Mihail
Radu Mihail 2021년 3월 19일
I am sorry this is just to identify unique vectors. I do not follow and I do not understand how to get the table of all column vector frequencies distributions in the matrix. I need something like this
1 1 1 2 2 2 1 2 2 1 4 2 2 2 2 1 2 1 3 1 1
1 1 2 2 2 1 2 2 1 4 2 2 2 2 1 2 1 3 1 1 1
1 2 2 2 1 2 2 1 4 2 2 2 2 1 2 1 3 1 1 1 1
Frequency of column vector(mentioned once)
------------------------------------------------------------------------------------
3 1 2 3 3 2 - - 1 1 1 - - - - 1 1 1 1 - -
David Hill
David Hill 2021년 3월 19일
R=[1,1,1,2,2,2,1,2,2,1,4,2,2,2,2,1,2,1,3,1,1;1,1,2,2,2,1,2,2,1,4,2,2,2,2,1,2,1,3,1,1,1;1,2,2,2,1,2,2,1,4,2,2,2,2,1,2,1,3,1,1,1,1];
[r,idx]=sort(sum(R.*[13;17;19]));%choose primes such that the number of repetitions of each will not exceed
[rr,idx2]=unique(r);
numberOfeachUniqueR=histcounts(r,[rr,r(end)+1]);%generates the number of occurrances of each unique triplet
UniqueR=R(:,idx(idx2));%generates cooresponding unique tripets (just like your output above)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Particle & Nuclear Physics에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by