Мне нужно реализовать ограниченную экспоненциальную интерполяцию роста.Я нашел для формулы для этого в Википедии:
B(t)=S-(S-B(0))*e^(-k*t)
Я должен точки, отмечающие начало и конец кривой, которую я хочу создать:
Мне нужны только значения кривой в целых числовых интервалах, например, 0,1,2,3, КОНЕЦ. Поэтому, с моей точки зрения, мне нужно решить вышеприведенное уравнение для k, поскольку у меня есть все остальное.
Проблема в том, что уравнение
B(END_X)=END_Y-(END_Y-START_Y)*e^(-k*END_X)
не имеет решения, так как оно только приближает желаемое значение END_Y и никогда не достигает его.
Мой вопрос, как бы яРеализовать наиболее эффективное вычисление k, не перепрыгивая через множество обручей, например, увеличивая END_Y чуть выше фактически желаемой конечной точки?(Язык C ++)
РЕДАКТИРОВАТЬ: //
END_Y-(END_Y-START_Y)*e^(-k*END_X)=END_Y+sgn(END_Y-START_Y)*G
Где G - параметр близости.