Extracting a matrix by row and column from a large matrix
    7 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Tanmoyee Bhattacharya
 il 21 Mag 2019
  
    
    
    
    
    Commentato: Adam Danz
    
      
 il 21 Mag 2019
            I have a matrix like
1 1 1    2000
1 1 1    2000
1 1 1    2000
2 2 2    3000
2 2 2    3000
2 2 2    3000
3 3 3    5000
3 3 3    5000
3 3 3    5000
I have another matrix 
2 2 2    
2 2 2    
2 2 2    
I want a matrix from this matrix large matrix given above
2 2 2   3000
2 2 2   3000
2 2 2   3000
Can anyone help to extract the values through matlab.I am trying throuh ismember but not working.
2 Commenti
  Bob Thompson
      
 il 21 Mag 2019
				What kind of conditions are you hoping to meet, or do you literally just want any row which contains [2 2 2 3000]?
  Adam Danz
    
      
 il 21 Mag 2019
				Tanmoyee Bhattacharya answer moved here
I have another matrix
2 2 2
2 2 2
2 2 2
I have to extract the 4,5,6 row and four column from the large matrix by the given matrix
2 2 2   3000
2 2 2   3000
2 2 2   3000
Risposta accettata
  Adam Danz
    
      
 il 21 Mag 2019
        
      Modificato: Adam Danz
    
      
 il 21 Mag 2019
  
      I changed your example matrix a bit to make sure it ignores partial pattern matches.  
m = [1 1 1    2000
    1 1 1    2000
    1 1 1    2000
    2 2 2    3000
    2 2 2    3000
    2 2 2    3000
    3 3 3    5000
    3 3 3    5000
    3 3 3    5000
    2 2 2    6000
    2 2 2    6000
    9 9 9    7000];
s = [2 2 2
    2 2 2
    2 2 2];
[~, rowIdx] = intersect(m,s); 
mSubset = m(rowIdx+(0:size(s,1)-1),:); 
Result
mSubset =
           2           2           2        3000
           2           2           2        3000
           2           2           2        3000
Note that if there is more than 1 match it will only return the first subset match.  
0 Commenti
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!