Output of a vector which excludes the entries of the second vector
    5 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
Hello,
Problem: Given two distinct integer vectors p and q. I'd like to get a new vector r, that is p excluding the entries of q.
For example,
p = [1 2 3 4 5 6 7 8], q = [2 5 7 9], then r = [1 3 4 6 8].
Hope to have a code in a singer line. Thanks.
0 comentarios
Respuesta aceptada
  Azzi Abdelmalek
      
      
 el 1 de Dic. de 2012
        
      Editada: Azzi Abdelmalek
      
      
 el 1 de Dic. de 2012
  
       p = [1 2 3 4 5 6 7 8],
 q = [2 5 7 9], 
 out=p(~ismember(p,q))
3 comentarios
Más respuestas (1)
  Walter Roberson
      
      
 el 1 de Dic. de 2012
        r = setdiff(p, q);
3 comentarios
  Walter Roberson
      
      
 el 1 de Dic. de 2012
				Note that the two answers are slightly different, having to do with the ordering of the outputs if the first vector is not sorted. setdiff() also has a 'stable' option to get the outputs in the original order.
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



