具有较低增长率的Explonential函数

时间:2017-01-25 07:55:51

标签: math exponential

我想在某些LED上模拟欢迎/再见状态。 首先,我尝试使用线性数学函数,它有效,但不是例外。我想要一个"更低的"曲线(图表)爬升,如指数函数图表。 我使用指数函数,现在,较高的PWM值(pwm值就像LED的发光强度的百分比)从一个到另一个增加太多。所以我需要在其他方面修改2 ^ x的指数函数,这样我的图表增长率就会降低。

我需要使用0到65535之间的值(%值),即。如果发光强度为65535,那么32767为50%......

您是否有任何关于指数函数增长较少的建议?

1 个答案:

答案 0 :(得分:0)

似乎您在时间0需要值0,并且在时间TMax处需要值VMax。请注意,在t = 0时指数函数为1,因此您可以使用表单

F(t) = A * Exp(k * t) - 1

您有一个边界条件F(0)= 0 - 它会自动完成。第二个条件F(TMax)= VMax。但要确定两个系数 - A和k,您需要一些中间点并在那里定义值。例如,您可以在一半范围内定义值。所以

F(TMax) = A * Exp(k * TMax) - 1 = VMax
F(TMax/2) = A * Exp(k * TMax/2) - 1 = VHalf
A * Exp(k * TMax) = VMax + 1
A * Exp(k * TMax/2) = VHalf + 1
divide these equations
Exp(k * TMax/2) = (VMax + 1) / (VHalf + 1)

so coefficients are
k = 2 * Ln((VMax + 1) / (VHalf + 1)) / TMax
A = (VMax + 1) / Exp(k * TMax)

也许您会使用更简单的方法 - 幂函数F(t)= A * t N 。例如,二次函数F = A * t * t