--- a
+++ b/functions/functions_Classifiers/fastEuclideanDistance.m
@@ -0,0 +1,46 @@
+function d = fastEuclideanDistance(a,b)
+% DISTANCE - computes Euclidean distance matrix
+%
+% E = distance(A,B)
+%
+%    A - (DxM) matrix 
+%    B - (DxN) matrix
+%
+% Returns:
+%    E - (MxN) Euclidean distances between vectors in A and B
+%
+%
+% Description : 
+%    This fully vectorized (VERY FAST!) m-file computes the 
+%    Euclidean distance between two vectors by:
+%
+%                 ||A-B|| = sqrt ( ||A||^2 + ||B||^2 - 2*A.B )
+%
+% Example : 
+%    A = rand(400,100); B = rand(400,200);
+%    d = distance(A,B);
+
+% Author   : Roland Bunschoten
+%            University of Amsterdam
+%            Intelligent Autonomous Systems (IAS) group
+%            Kruislaan 403  1098 SJ Amsterdam
+%            tel.(+31)20-5257524
+%            bunschot@wins.uva.nl
+% Last Rev : Oct 29 16:35:48 MET DST 1999
+% Tested   : PC Matlab v5.2 and Solaris Matlab v5.3
+% Thanx    : Nikos Vlassis
+
+% Copyright notice: You are free to modify, extend and distribute 
+%    this code granted that the author of the original code is 
+%    mentioned as the original author of the code.
+
+if (nargin ~= 2)
+   error('Not enough input arguments');
+end
+
+if (size(a,1) ~= size(b,1))
+   error('A and B should be of same dimensionality');
+end
+
+aa=sum(a.*a,1); bb=sum(b.*b,1); ab=a'*b; 
+d = sqrt(abs(repmat(aa',[1 size(bb,2)]) + repmat(bb,[size(aa,2) 1]) - 2*ab));