Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

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

by Eliya (Vicar)
on Apr 14, 2011 at 17:29 UTC ( [id://899490]=note: print w/replies, xml ) Need Help??


in reply to [OT] Normalizing the return result of an exponential formula

Maybe I'm misunderstanding, but why not simply return the max value when the distance falls within the radius, and apply the dropoff to what falls outside?  In code:

sub boost { my ($dist, $imp, $rad, $drop) = @_; if ($dist <= $rad) { return $imp; } else { return $imp / ($dist - $rad + 1) ** $drop; } } my $imp = 1000; my $rad = 125; my $drop = 0.5; for (map 2**$_, 4..13) { my $boost = boost($_, $imp, $rad, $drop); my $bar = "@" x ($boost/($imp*0.02)); printf "%6d %s %.1f\n", $_, $bar, $boost; } __END__ 16 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1000.0 32 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1000.0 64 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1000.0 128 @@@@@@@@@@@@@@@@@@@@@@@@@@@@ 577.4 256 @@@@ 87.4 512 @@ 50.8 1024 @ 33.4 2048 @ 22.8 4096 15.9 8192 11.1

Replies are listed 'Best First'.
Re^2: [OT] Normalizing the return result of an exponential formula
by clinton (Priest) on Apr 14, 2011 at 17:46 UTC
    Hi Eliya

    That's kinda what I want, I think.

    It also handles the case where the distance is 1cm, making the boost way too large. Although, I probably want the decline for distances greater than the radius to be less steep, ie the remaining range should be stretched.

    Still experimenting, but I think that by combining what you suggest with something like in Re: [OT] Normalizing the return result of an exponential formula, I might get a reasonable result.

    Rereading your code, I see you handle the decline, taking the radius into account. That could be it! Thanks

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://899490]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (4)
As of 2024-03-30 01:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found