"Squeeze" array of indexes.
    10 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
There must be an elegant way to do this in MATLAB.
Let's say I have an array of points and I want to find all areas where the points are over 0.90.
gap_indexes = find(output > 0.90)
Now you have indexes to all locations where output is greater than 0.90. But let's say you don't care about when there are two 0.90s right next to each other. What's the best way to squeeze them out into 1 index (let's say the later index)?
1 commentaire
  the cyclist
      
      
 le 4 Août 2011
				I think it would be a good idea for you to give a specific example of the variable "output" (which is your input!), and what you prefer to see for gap_indexes.
Réponses (2)
  Oleg Komarov
      
      
 le 4 Août 2011
        % Run length encoding:
A = rand(100,1)>.9;
find(diff([A; false]) == -1)
If you want the first change -1 to 1.
0 commentaires
Voir également
Catégories
				En savoir plus sur Matrix Indexing dans Help Center et File Exchange
			
	Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


