Learn R Programming

pracma (version 1.9.3)

distmat: Distance Matrix

Description

Computes the Euclidean distance between rows of two matrices.

Usage

distmat(X, Y) pdist(X) pdist2(X, Y)

Arguments

X
matrix of some size m x k; vector will be taken as row matrix.
Y
matrix of some size n x k; vector will be taken as row matrix.

Value

matrix of size m x n if x is of size m x k and y is of size n x k.

Details

Computes Euclidean distance between two vectors A and B as:

||A-B|| = sqrt ( ||A||^2 + ||B||^2 - 2*A.B )

and vectorizes to rows of two matrices (or vectors).

pdist2 is an alias for distmat, while pdist(X) is the same as distmat(X, X).

References

Copyright (c) 1999 Roland Bunschoten for a Matlab version on MatlabCentral under the name distance.m. Translated to R by Hans W Borchers.

See Also

dist

Examples

Run this code
A <- c(0.0, 0.0)
B <- matrix(c(
        0,0, 1,0, 0,1, 1,1), nrow=4, ncol = 2, byrow = TRUE)
distmat(A, B)  #=> 0 1 1 sqrt(2)

X <- matrix(rep(0.5, 5), nrow=1, ncol=5)
Y <- matrix(runif(50), nrow=10, ncol=5)
distmat(X, Y)

Run the code above in your browser using DataLab