Я пытаюсь решить дифференциальное уравнение для физической проблемы: падение мяча для гольфа. Я использую метод разрешения Эйлера, и у меня есть этот код:
def F(Z, t):
res = [Z[1], (-K/m)*Z[1]*sqrt((Z[1]**2) + (Z[1]**2)), Z[3], (-K/m)*Z[3]*sqrt((Z[3]**2) + (Z[3]**2))]
return res
def reso_z_euler(liste_t, F, CI, K):
n = len(liste_t)
Z = CI
pas = (liste_t[-1] - liste_t[0])/(n-1)
listeZ = [Z]
for i in range(1, n):
Z = F(Z, temps[i-1])
listeZ.append(Z)
return listeZ
listeZ = reso_z_euler(temps, F, Z0, K)
Когда я запускаю этот код, терминал выдает ошибку: OverflowError: (34, 'Результат слишком большой'), я никогда не видел эта ошибка, и я не знаю, что делать .. Ваша помощь была бы так хороша .. Спасибо