Detecting samples greater than a threshold and grouping.
3 次查看(过去 30 天)
显示 更早的评论
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 个评论
the cyclist
2020-6-29
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.
采纳的回答
Image Analyst
2020-6-29
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
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!