unique
extrait (et trie) les éléments distincts d'un vecteur, matrice, hypermatrice
Séquence d'appel
N = unique(M) N = unique(M, orient) [N, k] = unique(..)
Paramètres
- M
vecteur, matrice, ou hypermatrice de nombres ou de textes.
- orient
1 ou "r", 2 ou "c". Ne peut pas être utilisé si
M
est une hypermatrice.- N
- Sans
orient
: vecteur d'éléments deM
triés par ordre croissant. - Avec
orient
: Matrice de lignes ou colonnes extraites deM
, triées par ordre lexicographique croissant.
- Sans
- k
Indices des éléments, lignes ou colonnes extraits, tels que
N(i) = M(k(i))
ouN(i,:) = M(k(i),:)
ouN(:,i) = M(:,k(i))
.
Description
unique(M)
renvoie un vecteur contenant les
valeurs distinctes contenues dans les termes de M
classées par ordre croissant.
unique(M,"r")
ou
unique(M,1)
retourne les lignes uniques de
M
triées dans l'ordre lexicographique croissant.
unique(M,"c")
or
unique(M,2)
retourne les colonnes uniques
M
triées dans l'ordre lexicographique croissant.
![]() | Les éléments, lignes ou colonnes extraits peuvent être remis dans leur ordre initial en
triant k . Voir le 1er exemple. |
Exemples
Dédoublonnement de nombres :
M = int8([2 0 2 2 1 1 1 2 1 1 0 1 1 0 1 1 0 1 2 0 1 2 2 0 1 1 2 0 1 0 0 0 ]) [u, k] = unique(M) [uc, kc] = unique(M, "c") // Obtenir les colonnes dédoublonnées dans leur ordre initial : M(:, gsort(kc,"g","i"))
--> M M = 2 0 2 2 1 1 1 2 1 1 0 1 1 0 1 1 0 1 2 0 1 2 2 0 1 1 2 0 1 0 0 0 --> [u, k] = unique(M) u = 0 1 2 k = 2. 4. 1. --> [uc, kc] = unique(M, "c") uc = 0 0 0 1 1 1 2 2 0 1 2 0 1 2 0 2 kc = 14. 2. 11. 12. 5. 6. 1. 3. --> // Obtenir les colonnes dédoublonnées dans leur ordre initial : --> M(:, gsort(kc,"g","i")) ans = 2 0 2 1 1 0 1 0 0 1 2 1 2 2 0 0
Dédoublonnement de nombres complexes :
i = %i; c = [1+i, 1-i, -i, i, -i, 1+i] [u, k] = unique(c) [uc, kc] = unique(c, "c")
--> c = [1+i, 1-i, -i, i, -i, 1+i] c = 1. + i 1. - i -i i -i 1. + i --> [u, k] = unique(c) u = -i i 1. - i 1. + i k = 3. 4. 2. 1.
Dédoublonnement de textes :
t = ["AB" "BA" "BA" "BA" "AB" "BA" "AB" "AB" "BB" "AA" "AB" "BA" "BA" "BA" "AA" "AA" "AA" "AB" "AA" "BB" "BB" "BB" "BA" "AB" "AB" "BB" "BB" "AB" "AB" "AA" ] [u, k] = unique(t) [uc, kc] = unique(t, "c")
t = !AB BA BA BA AB BA AB AB BB AA AB BA BA BA AA ! !AA AA AB AA BB BB BB BA AB AB BB BB AB AB AA ! --> [u, k] = unique(t); u = !AA ! !AB ! !BA ! !BB ! k = 2. 1. 3. 10. --> [uc, kc] = unique(t, "c") uc = !AA AA AB AB AB BA BA BA BB ! !AA AB AA BA BB AA AB BB AB ! kc = 15. 10. 1. 8. 5. 2. 3. 6. 9.
Voir aussi
- members — dénombre (et localise) dans un tableau chaque élément ou ligne ou colonne d'un autre tableau
- gsort — tri par l'algorithme "quick sort"
- vectorfind — finds in a matrix rows or columns matching a vector
- grep — find matches of a string in a vector of strings
- union — extrait les composantes distinctes issues de l'union de deux vecteurs
- intersect — éléments, lignes, ou colonnes communs aux 2 tableaux d'entrée, sans doublon
Historique
Version | Description |
6.0.2 | unique() peut maintenant être utilisée pour dédoublonner des nombres complexes. |
Comments
Add a comment:
Please login to comment this page.