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