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

Reply via email to