Снаряд с сопротивлением воздуха находит время, когда y = 0

#python

#python

Вопрос:

Я должен найти время, когда y = 0.

У меня есть такая формула

 y(t) = m/k(v0sinθ   mkg)(1−e^[−k/m * t])−m/k * (gt)
  

Я изолировал t таким образом

 t = [m/k(v0sinθ   mkg)(1−e^[−k/m * t]) * k] / gm
  

Я уже делал что-то подобное для x=a(1− e^−x) .

Прямо сейчас я не вижу, что я делаю неправильно.

     m = 0.5
    k = 1
    v0 = 20
    theta = 25
    g = 9.8
    
    i = 1

    a = ((m/k)*(v0 * np.sin(np.deg2rad(theta))   (m/k) * g))
    
    tolerance = 0.001

    t0 = a
   
    t1 = a * (1 - exp(- (k/m) * a)) * k / (m*g)
    
    error = t0 - t1

    while error > tolerance:
        t0 = t1
        t1 = a * (1 - exp(- (k/m) * t1)) * k / (m*g)
    
        error = t0 - t1
    
        i =1
  

Комментарии:

1. e^x должно быть math.exp(x) , а также экспоненциальный оператор ** .

2. Я забыл упомянуть. У меня был модуль import exp. из math import exp

3. если у вас все еще возникают проблемы, отредактируйте, чтобы поделиться минимальным, воспроизводимым примером вашей проблемы.