MATLAB Answers

0

How to make matlab count

Asked by Rainaire Hansford on 11 Jun 2019
Latest activity Commented on by Rainaire Hansford on 17 Jun 2019
Hello Matlab community,
I wented to know is there a way to create a code to count how many times a number ouccers in a given matrix.
For example I would like to input:
x=input('Numeber')
=[1 2 3 4 5
1 2 3 5 6
7 2 4 3 5]
Is there a way for Matlab to count how many of each number has occured.
Please provide example Thank you so much.

  0 Comments

Sign in to comment.

Tags

5 Answers

Answer by madhan ravi
on 11 Jun 2019
Edited by madhan ravi
on 11 Jun 2019
 Accepted Answer

"Is there a way for Matlab to count how many of each number has occured."
The below gives the number of counts of each unique elements in the matrix:
x =[1 2 3 4 5
1 2 3 5 6
7 2 4 3 5]
[uv,~,idx] = unique(x);
n = accumarray(idx(:),1);
% or
n = histc(x(:),uv);
% or
n = sum(x(:).' == uv,2);
Result = [uv,n] % uv - unique elements in the matrix & n - number of times each unique elements appear
Gives:
Result =
1 2
2 3
3 3
4 2
5 3
6 1
7 1
>>

  0 Comments

Sign in to comment.


Answer by Alex Mcaulley on 11 Jun 2019

A =[1 2 3 4 5
1 2 3 5 6
7 2 4 3 5];
x=input('Number')
sum(A(:) == x)

  0 Comments

Sign in to comment.


Answer by Star Strider
on 11 Jun 2019

One way is to use the nnz (link) function with a logical vector:
x = 5
M=[1 2 3 4 5
1 2 3 5 6
7 2 4 3 5]
Count = nnz(M == x)
producing:
Count =
3

  0 Comments

Sign in to comment.


Answer by Steven Lord
on 11 Jun 2019

If you want the frequency of one particular element from the matrix, use the techniques madhan ravi, Alex Mcaulley, and Star Strider have given.
If you want just the counts for each unique element, use histcounts.
If you want a picture of the frequency data, use histogram. The graphics object histogram returns also has the bin count information in its properties, but if you don't need the picture I would use histcounts and skip the cost (in time and memory) of creating the picture.

  4 Comments

Show 1 older comment
Yes, I see that now. Nice use of implicit expansion, by the way. I still would recommend histcounts or histogram as (among other things) it makes the code author's intent obvious (accumarray and sum are more general than histcounts) and uses the recommended function (in place of histc.)
Very true :)
Thanks Steven when I get the chance I would like to use histogram. But can you show me how am I to use it in a code like the one above.

Sign in to comment.


Answer by Rainaire Hansford on 17 Jun 2019

You guys are awesome.
I really wanted the first for this project but the rest of youll are great thank you.

  0 Comments

Sign in to comment.