-
Inverser une permutation
Bonjour,
J'utilise [a,b,c]= unique(data);
c est la permutation assurant a(c)== data.
Comment obtenir la permutation inverse d, qui assurerait que data(d) est bien ordonné ? (et qui vérifie d(c) = c(d)= 1:length(data))
En passant, connaissez vous des outils matlab pour des traitements avancés sur les permutations (par exemple, décomposition en cycles, inversion, points fixes etc).
Merci d'avance
-
Bon, c n'est pas une permutation si les éléments ne sont pas uniques !
Dans le cas ou on a une vraie permutation (remplacer unique par sort dans mon exemple), il suffit de sorter la permutation et de récupérer les indices.