How to count number of specific value?

4 views (last 30 days)
I have a matrix and I'm trying to count the number of a specific value in rows (i.e. < 4 )
for example 5 2 3 8 7 1 2 2 3
nnz( A(1,:) < 4); --> 6
but I want sth like this 2 and 4

Accepted Answer

Image Analyst
Image Analyst on 15 Dec 2016
If you have the Image Processing Toolbox, use bwlabel and regionprops:
A = [5 2 3 8 7 1 2 2 3]
[labeledA, numRegions] = bwlabel(A < 4)
% Get the size of the regions.
props = regionprops(labeledA, 'Area')
elementCounts = [props.Area]
Run the demo and you'll see this in the command window:
A =
5 2 3 8 7 1 2 2 3
labeledA =
0 1 1 0 0 2 2 2 2
numRegions =
2
props =
2×1 struct array with fields:
Area
elementCounts =
2 4
  1 Comment
Justyna Slawska
Justyna Slawska on 19 Dec 2016
And tell me how to get this specific value (2 3 and 1 2 2 3)

Sign in to comment.

More Answers (1)

Geoff Hayes
Geoff Hayes on 15 Dec 2016
Justyna - if
data = [5 2 3 8 7 1 2 2 3]
then you can use length and https://www.mathworks.com/help/matlab/ref/find.html to determine the number of elements less than four
length(find(data<4))

Categories

Find more on Programming 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!