Welcome to the Monastery PerlMonks

### Re: [OT] Normalizing the return result of an exponential formula

by kennethk (Abbot)
 on Apr 14, 2011 at 18:00 UTC ( #899499=note: print w/replies, xml ) Need Help??

Based on your post and discussion with BrowserUk, my first thought is a Gaussian - see Normal_distribution. The functional form gives you a width parameter and the normalization is known, so it will satisfy your importance and radius requirements. You could probably implement your boost parameter by modifying the exponent on x. Perhaps something like:
```#!/usr/bin/perl -w
use warnings;
use strict;

sub boost  {
my (\$x, \$importance, \$radius, \$drop) = @_;

return \$importance * exp( -(\$x/\$radius)**\$drop );
}

my \$imp  = 1000;
my \$drop = 1;

for (map 2**\$_, 1..15) {
my \$boost = boost(\$_, \$imp, \$rad, \$drop);
my \$bar = "@" x (\$boost/\$imp*50);
printf "%6d %s %.1f\n", \$_, \$bar, \$boost;
}
__END__
2 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 980.2
4 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 960.8
8 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 923.1
16 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 852.1
32 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 726.1
64 @@@@@@@@@@@@@@@@@@@@@@@@@@ 527.3
128 @@@@@@@@@@@@@ 278.0
256 @@@ 77.3
512  6.0
1024  0.0
2048  0.0
4096  0.0
8192  0.0
16384  0.0
32768  0.0

Update: Fixed typo in call order.

Replies are listed 'Best First'.
Re^2: [OT] Normalizing the return result of an exponential formula
by clinton (Priest) on Apr 14, 2011 at 18:09 UTC
kennethk that looks like just the ticket! Many thanks

Create A New User
Node Status?
node history
Node Type: note [id://899499]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (6)
As of 2017-08-21 10:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
Who is your favorite scientist and why?

Results (321 votes). Check out past polls.

Notices?