In the 2014-11-11 NYCJUG meeting <http://code.jsoftware.com/wiki/NYCJUG/2014-11-11> there was a discussion on Euclidean Distance. The verb 'dis' was used to demonstrate how to to calculate the Euclidean distance between two vectors.
0 0 dis 1 1 NB. Euclidean distance 1.41421 1 1,_1 _2,:3 4 NB. Table of 2-D points 1 1 _1 _2 3 4 0 0 dis 1 1,_1 _2,:3 4 NB. Distances from origin 1.41421 2.23607 5 0 0 0 dis 1 1 1 NB. Handles higher dimensions 1.73205 I have a NLP project that needs to calculate the Euclidean distance between points in a multi-dimensional space. I now the basic formula - square the differences, sum the squares, take the square root of the sum: dis =. 4 :'%:+/*:x-y' 0 0 dis 1 1 1.41421 0 0 0 dis 1 1 1 1.73205 Looking good.... 0 0 dis 1 1,_1 _2,:3 4 |length error: dis | %:+/*:x -y Ooops! How can I make dis handle multiple pairs of vectors? like: (0 0, 2 _3 ,: _1 2) dis 1 1,_1 _2,:3 4 1.41421 3.16228 4.47214 Skip Cave Cave Consulting LLC ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm