Simple Vector Indexing Question
    3 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    Emma Walker
 le 4 Oct 2023
  
    
    
    
    
    Réponse apportée : Voss
      
      
 le 4 Oct 2023
            Say I have a vector called Vector that is roughly a 6000x50 double. 
I want to pull out certain indexes from that double, deleting the rows that are not in the following start - stop table, like this:
Random Example below:
Start    Stop
540  	1238
1423	2144
2403	3280
3485	4385
4573	5152
So I want all the data from rows 540 -1238, rows 1423-2144, 2403-3280, 3485-4385, and 4573-5152. I want to delete the rows before 540, after 5152, and in between these windows (i.e. 1238 to 1434). 
There must be a simple way to do this, I have been making it way too complicated.
activeVector = Vector ([540:1238]; [1423:2144];  ... etc.
Please let me know if you can help!
1 commentaire
  Walter Roberson
      
      
 le 4 Oct 2023
				In MATLAB terminology, "vector" is always 1 x something or something x 1. Something that is 6000 x 50 would be called either a "matrix" or an "array"
Réponse acceptée
  Star Strider
      
      
 le 4 Oct 2023
        
      Modifié(e) : Star Strider
      
      
 le 4 Oct 2023
  
      Put all the indices inside one set of square brackets — 
Vector = 1:20;
activeVector = Vector([3:7 10:15])
This is a simplified version of what you want to do.  
EDIT — (4 Oct 2023 at 17:52)
To delete rows from a matrix, this works similarly — 
Matrix = Vector(:)*ones(1,10)
activeMatrix = Matrix([3:7 10:15],:)
.
0 commentaires
Plus de réponses (1)
  Voss
      
      
 le 4 Oct 2023
        M = rand(6000,5);
rows = [
    540  	1238
    1423	2144
    2403	3280
    3485	4385
    4573	5152];
idx = arrayfun(@colon,rows(:,1),rows(:,2),'UniformOutput',false);
M = M([idx{:}],:);
0 commentaires
Voir également
Catégories
				En savoir plus sur Matrix Indexing dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



