convert vector a to b

3 vues (au cours des 30 derniers jours)
nurhayat sahinkaya
nurhayat sahinkaya le 26 Déc 2018
Commenté : Image Analyst le 27 Déc 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 commentaires
Image Analyst
Image Analyst le 26 Déc 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
Image Analyst le 27 Déc 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.

Connectez-vous pour commenter.

Réponse acceptée

David Goodmanson
David Goodmanson le 27 Déc 2018
Modifié(e) : David Goodmanson le 27 Déc 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.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by