Detecting samples greater than a threshold and grouping.

7 visualizaciones (últimos 30 días)
Hi all,
Lets say we have a vector: A = [1 2 3 5 2 3 5 2 5 3 10 8 9 11 14 1 4 3 3 4 5 3 2 3 4 5 6 4 2 2 3 4 5 6 6 2 2 3 4 11 23 12 56 23 12 34 12 1 3 4 1 2 3 4 5 ];
In the vector, I have applied a threshold of A>5 for detection of any samples greater than 5. So I detect all the bold samples.
However, as a second step, I want to group these samples. As in, first bold set goes to group 1 and second bold set goes to group 2 (All the consecutive samples goes to same group). How can I do it in Matlab in a way that their original indices in vector A are preserved?
Kind Regards
Anum
  2 comentarios
the cyclist
the cyclist el 29 de Jun. de 2020
What specifically would you want the output to be, for that input vector A? "Goes to a group" is not enough information to design an algorithm.
Anum Ahmed Pirkani
Anum Ahmed Pirkani el 29 de Jun. de 2020
It can be something like this
Group1val = [10 8 9 11 14]; %group 1 values greater than threshold
Group1ind = [11 12 13 14 15]; %group 1 indices with values greater than threshold
Group2val = [11 23 12 56 23 12 34 12]; %group 2 values greater than threshold
Group2ind = [40 41 42 43 44 45 46 47]; %group 2 indices with values greater than threshold
Indices can be obtained using the find command i.e.
Indices = find(A>5);
But as a next step, I want to seperate them into (in this case) two groups. This is decided if there are 5 values less than the threshold between the groups (in this case there are 24 values less than the threshold between these two groups).

Iniciar sesión para comentar.

Respuesta aceptada

Image Analyst
Image Analyst el 29 de Jun. de 2020
What you want is bwlabel(), in the Image Processing Toolbox:
A = [1 2 3 5 2 3 5 2 5 3 10 8 9 11 14 1 4 3 3 4 5 3 2 3 4 5 6 4 2 2 3 4 5 6 6 2 2 3 4 11 23 12 56 23 12 34 12 1 3 4 1 2 3 4 5 ];
[groups, numGroups] = bwlabel(A > 5)
groups =
Columns 1 through 27
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 2
Columns 28 through 54
0 0 0 0 0 0 3 3 0 0 0 0 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0
Column 55
0
numGroups =
4

Más respuestas (0)

Categorías

Más información sobre Image Processing Toolbox en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by