How to group a matrix based on height
Afficher commentaires plus anciens
EDIT __________
my apolgies for confusion
Say I have a matrix of nx1 as such:
[..... 2.59, 2.6, 2.6, 1.7 , ....... , 1.8 , 2.57 , 2.6, 2.7, 1.8.....]
(block 1) (block 2)
Is there a function that groups that first "block" of values over 2.5 as "block 1" and then the second "block" of values over 2.5 as another thing such as "block 2"
my apologies I appreciate your help
3 commentaires
Walter Roberson
le 17 Mar 2019
There are no locations in your sample data where the difference in heights between two columns exceeds 2.5 ("values above 2.5 above/below each other") ?
Image Analyst
le 17 Mar 2019
We're not going to type that in. Please attach the data with the paperclip icon. Make it easy for people to help you, not hard.
R MONTGOMERY
le 17 Mar 2019
Réponses (1)
Akira Agata
le 8 Avr 2019
If you have Image Processing Toolbox, you can do this task easier by using bwlabel function. The following is a simple example.
nx1 = [1.1, 2.59, 2.6, 2.6, 1.7, 1.8, 2.57, 2.6, 2.7, 1.8];
idx = nx1 > 2.5;
group = bwlabel(idx);
The result is like:
>> group
group =
0 1 1 1 0 0 2 2 2 0
Catégories
En savoir plus sur Logical dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!