#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. если у вас все еще возникают проблемы, отредактируйте, чтобы поделиться минимальным, воспроизводимым примером вашей проблемы.