Main Content

squareform

Dar formato a una matriz de distancia

Descripción

ejemplo

ZOut = squareform(yIn) convierte yIn, un vector de distancia por pares con una longitud de m(m–1)/2 para m observaciones, en ZOut, una matriz simétrica de m por m con ceros a lo largo de la diagonal.

Las distancias por pares de yIn se establecen en el orden (2,1), (3,1), ..., (m,1), (3,2), ..., (m,2), ..., (m,m–1). La distancia por pares entre las observaciones i-ésima y j-ésima está en ZOut(i,j) e yIn((i–1)*(m–i/2)+j–i) para ij.

yOut = squareform(ZIn) convierte ZIn, una matriz simétrica cuadrada con ceros a lo largo de la diagonal, en yOut, un vector que contiene los elementos ZIn debajo de la diagonal.

ZOut = squareform(yIn,'tomatrix') fuerza a squareform a tratar yIn como un vector y convierte yIn en una matriz.

yOut = squareform(ZIn,'tovector') fuerza a squareform a tratar ZIn como una matriz y convierte ZIn en un vector. Si ZIn es un escalar (1 por 1), entonces ZIn debe ser cero.

Las dos sintaxis anteriores son útiles cuando el argumento de entrada es un escalar. Si no especifica 'tomatrix' ni 'tovector', el valor predeterminado es 'tomatrix'.

Ejemplos

contraer todo

Calcule la distancia euclidiana entre pares de observaciones y convierta el vector de distancia en una matriz usando squareform.

Cree una matriz con tres observaciones y dos variables.

rng('default') % For reproducibility
X = rand(3,2);

Calcule la distancia euclidiana.

D = pdist(X)
D = 1×3

    0.2954    1.0670    0.9448

Las distancias por pares se establecen en este orden: (2,1), (3,1), (3,2). Puede ubicar la distancia entre las observaciones i y j fácilmente usando squareform.

Z = squareform(D)
Z = 3×3

         0    0.2954    1.0670
    0.2954         0    0.9448
    1.0670    0.9448         0

squareform devuelve una matriz simétrica donde Z(i,j) corresponde a la distancia por pares entre las observaciones i y j. Por ejemplo, puede encontrar la distancia entre las observaciones 2 y 3.

Z(2,3)
ans = 0.9448

Pase Z a la función squareform para reproducir la salida de la función pdist.

y = squareform(Z)
y = 1×3

    0.2954    1.0670    0.9448

Las salidas y de squareform y D de pdist son la misma.

Argumentos de entrada

contraer todo

Vector de distancia de entrada, especificado como un vector numérico o lógico con una longitud de m(m–1)/2, donde m es el número de observaciones.

Las distancias por pares de yIn se establecen en el orden (2,1), (3,1), ..., (m,1), (3,2), ..., (m,2), ..., (m,m–1), es decir, el triángulo inferior izquierdo de la matriz de distancia de m por m en el orden de la columna. La distancia por pares entre las observaciones i y j está en yIn((i–1)*(m–i/2)+j–i) de ij.

Puede crear yIn usando la función pdist. m es el número de observaciones en los datos de entrada de pdist.

Tipos de datos: single | double | logical

Matriz de distancia de entrada, especificada como una matriz numérica o lógica. ZIn es una matriz simétrica de m por m con ceros a lo largo de la diagonal, donde m es el número de observaciones. ZIn(i,j) indica la distancia entre la i-ésima y la j-ésima observaciones.

Tipos de datos: single | double | logical

Argumentos de salida

contraer todo

Vector de distancia, devuelto como un vector numérico o lógico con una longitud de m(m–1)/2, donde m es el número de observaciones.

Las distancias por pares de yOut se establecen en el orden (2,1), (3,1), ..., (m,1), (3,2), ..., (m,2), ..., (m,m–1), es decir, el triángulo inferior izquierdo de la matriz de distancia de m por m en el orden de la columna. La distancia por pares entre las observaciones i y j está en yOut((i–1)*(m–i/2)+j–i) de ij.

yOut tiene el mismo formato que la salida de la función pdist.

Matriz de distancia, devuelta como una matriz numérica o lógica. ZOut es una matriz simétrica de m por m con ceros a lo largo de la diagonal, donde m es el número de observaciones. ZOut(i,j) indica la distancia entre la i-ésima y la j-ésima observaciones.

Sugerencias

  • Puede usar squareform para dar formato a un vector o una matriz que sea similar a un vector o una matriz de distancia, como la matriz de coeficientes de correlación (corrcoef).

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a

Consulte también