具有较低增长率的指数函数

Explonential function with a lower growing rate

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

我需要使用 0 - 65535(% 值)之间的值,即32767是发光强度的50%,65535是100%...

您对增长程度较小的指数函数有什么建议吗?

似乎您需要在时间 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 * tN。例如,二次函数 F = A * t * t