So, other thread didn't help much?
The simple solution is Excell, or LibreOffice, where you play around with math, and see how it affects a chart. Only when you like what you see, you ready to transfer it in C.
I am currently using this function to achieve my goal: y = (1500 / ((4/3)^(1/670))^1080) • ((4/3)^(1/670))Unfortunately, the effect of the exponential behavior is very minor and unnoticeable in the application I am using it for in my program. How can I exaggerate the exponential behavior of the function whilst maintaining the two points (1080, 1500) and (1750, 2000)?
See if this has a noticeable effect:y = 1500 + .004455(x-1080)*(x-1080)
Where is the x in the function?
How would you implement the "basic" function if it was between the points (0,0) and (1,1) ? If you can define that the rest is scaling.
Easiest option is to use - http://arduino.cc/playground/Main/MultiMap - which can mimic all non linear functions
Yes, but he uses map() which uses long value types and I need a high-speed function, so I'm trying to stay away from 32 and 64 bit numbers. (although I have to use 32 bit because Arduino doesn't support 16 bit float values?)
Quote from: JavaMan on July 22, 2012, 09:07:15 PMSee if this has a noticeable effect:y = 1500 + .004455(x-1080)*(x-1080)Thank you, I'll give it a shot. How did you calculate it?
For the curious, here is the equation I am now using: y=((1/897.8 )*(x-1080)^2)+1500
I'm using unsigned 16 bit integers (uint16_t) so I'd assume that will work?
for the curious, here is the equation I am now using: y=((1/897.8 )*(x-1080)^2)+1500
Please enter a valid email to subscribe
We need to confirm your email address.
To complete the subscription, please click the link in the
email we just sent you.
Thank you for subscribing!
via Egeo 16