convert vector a to b
    4 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    nurhayat sahinkaya
 el 26 de Dic. de 2018
  
    
    
    
    
    Comentada: Image Analyst
      
      
 el 27 de Dic. de 2018
            I have a vector, a:
a = [1 2 4 7 3 5 8 9 6 12 10 11 13 14] 
I want to create a vector, b, that writes the value of each element in this vector. The result for the vector I gave as an example is:
b = [1 2 5 3 6 9 4 7 8 11 12 10 13 14]
 So, a vector in the value of 3 is the 5th rank in the b vector 3 as in the order to write 5.
How do I convert a vector to b?
2 comentarios
  Image Analyst
      
      
 el 26 de Dic. de 2018
				I don't understand.  So starting with "a", the 3 is in the 5th element.  Since we don't yet have "b" (it's not been created from "a" yet), what do you mean by "3 is the 5th rank in the b vector".  What do you mean by "rank" of the vector?  The 3 is in element 4 of "b", and there is a 5 in element 3 of "b".  But I don't really know how each element of b is created.
  Image Analyst
      
      
 el 27 de Dic. de 2018
				OK, I think David figured it out.  I guess rank really means the sort order rather than rank of a matrix. I never was able to understand "the value of 3 is the 5th rank in the b vector 3 as in the order to write 5" but I guess David luckily was.  Be sure to see David's clairvoyant answer below.
Respuesta aceptada
  David Goodmanson
      
      
 el 27 de Dic. de 2018
        
      Editada: David Goodmanson
      
      
 el 27 de Dic. de 2018
  
      Hi nurhayat,
try
[~, b] = sort(a)
so that b is the set of indices of a such that a(1) = 1, a(2) = 2, a(5) = 3, a(3) = 4 etc. and generally a(b) = 1:14, sorted order.  
0 comentarios
Más respuestas (0)
Ver también
Categorías
				Más información sobre Logical en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


