Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re: Re: Re: getting my neighbours in an N-dimensional space

by Masem (Monsignor)
on Jan 22, 2002 at 21:47 UTC ( #140692=note: print w/replies, xml ) Need Help??

in reply to Re: Re: getting my neighbours in an N-dimensional space
in thread getting my neighbours in an N-dimensional space

As one of your later posts implies you wanted points strictly closer to the origin, here's a quick function that helps to do that:
sub closer_to_origin { my ( $start, $test ) = @_; my $sd = 0; $sd += $_*$_ foreach (@$start); my $td = 0; $td += $_*$_ foreach (@$test); return ( $td < $sd ); }
Thus, in my original code block, where I have the grep, you can simply do:
my @closer_ns = grep { closer_to_origin( \@point, $_ ) } @n;
to get the closer neighbors. That routine basically calculates the distance from the point in question to the origin via the general distance formula, though without the final, expensive, square root as it's not necessary for magnitude comparison. This also blocks the original point from showing up (strictly closer, not same-or-closer distance) I'm sure that you can also modify tye's closure routine to include this check such that farther points don't pop up from each iteration loop.

Dr. Michael K. Neylon - || "You've left the lens cap of your mind on again, Pinky" - The Brain
"I can see my house from here!"
It's not what you know, but knowing how to find it if you don't know that's important

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://140692]
[corenth]: Good morning (in my neck of the woods)
[Cosmic37]: hello perly kings and queens
[jedikaiti]: 'ello Monks
[Cosmic37]: and monkeys too...
[Cosmic37]: is anyone doing machine learning with Perl?
[Cosmic37]: I was using gneural code in C and it was interesting but did not have back propagation for neural networks
[corenth]: Cosmic, poking at it, but not really.
[Cosmic37]: I read that its possible to use the FANN library with Perl so I might try that now...
[corenth]: i have a question. I used map{ blah();blah(); blah();}@stuff; and it used up a ton of memory vs. the for(@stuff){} equivalent. What gives? (if anyone knows)
[Cosmic37]: FANN also has LGPL license which I like and its supposed to be quite a capable library from what I read

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (11)
As of 2018-02-20 18:13 GMT
Find Nodes?
    Voting Booth?
    When it is dark outside I am happiest to see ...

    Results (274 votes). Check out past polls.