Scilab Website | Contribute with GitLab | Scilab Community | ATOMS toolboxes
Scilab Online Help
2026.1.0 - Français


pdist2

Distances par paires entre deux jeux d'observations (matrice complète)

Séquence d'appel

D = pdist2(X, Y)
D = pdist2(X, Y, metric)
D = pdist2(X, Y, metric, param)

Paramètres

X

matrice réelle n x p. Chaque ligne représente une observation de dimension p.

Y

matrice réelle m x p. Doit avoir le même nombre de colonnes que X.

metric

chaîne optionnelle définissant la métrique à utiliser. Par défaut la distance euclidienne.

param

réel optionnel utilisé uniquement pour "seuclidean", "mahalanobis" et "minkowski" (voir Description).

D

matrice réelle n x m où D(i,j) stocke la distance entre X(i,:) et Y(j,:).

Description

pdist2 calcule la distance entre chaque ligne de X et chaque ligne de Y avec la métrique sélectionnée et renvoie la matrice n x m complète. Cette fonction est utile pour la classification, la recherche de plus proches voisins ou l'initialisation d'algorithmes de regroupement lorsqu'il faut comparer deux ensembles de points.

Les métriques suivantes (et leurs alias) sont disponibles :

  • "euclidean" ("euclid", "eu", "e") : distance euclidienne.

  • "squaredeuclidean" ("sqeuclidean", "sqe", "sqeuclid") : distance euclidienne au carré.

  • "seuclidean" ("se", "s") : distance euclidienne standardisée.

  • "mahalanobis" ("mahal", "mah") : distance de Mahalanobis.

  • "cityblock" ("city", "city block", "cblock", "cb", "c") : distance de Manhattan.

  • "minkowski" ("mi", "m") : distance de Minkowski d'ordre param.

  • "chebychev" ("chebyshev", "cheby", "cheb", "ch") : distance de Chebyshev.

  • "cosine" ("cos") : distance cosinus (1 - similarité cosinus).

  • "correlation" ("co") : distance corrélation.

  • "hamming" ("hamm", "ha", "h") : proportion de composantes différentes.

  • "jaccard" ("jacc", "ja", "j") : distance de Jaccard pour données binaires.

  • "canberra" : distance de Canberra.

  • "braycurtis" : dissimilarité de Bray-Curtis.

Pour "seuclidean", param doit être un vecteur ligne 1 x p contenant la pondération de chaque colonne (par exemple les écarts-types). Par défault, stdev(X, "r") est calculé automatiquement et les zéros sont remplacés par 1.

Pour "mahalanobis", param doit être une matrice de covariance p x p. Par défaut, cov(X) est calculé et inversé automatiquement.

Pour "minkowski", param doit être un scalaire positif représentant l'ordre (2 par défaut).

Fournir param pour les autres métriques n'a aucun effet (un avertissement est affiché).

Exemples

Distances euclidiennes entre deux nuages de points

X = [0 0;
     1 0];
Y = [0 1;
     1 1;
     2 2];

D = pdist2(X, Y)
//  [1.000000   1.414214   2.828427; 1.414214   1.000000   2.236068]

Distance euclidienne standardisée avec échelles personnalisées

X = [1 2;
     3 4];
Y = [2 0];
scale = [0.5 2];

D = pdist2(X, Y, "seuclidean", scale)
//  [2.2360680; 2.8284271]

Voir aussi

  • pdist — Distances par paires entre observations (format condensé)
  • dbscan — Density-based clustering (DBSCAN)
  • kmeans — K-means clustering

Historique

VersionDescription
2026.1.0 Fonction ajoutée.
Report an issue
<< pdist Statistiques polyfit >>

Copyright (c) 2022-2026 (Dassault Systèmes S.E.)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue May 19 13:58:09 CEST 2026