Добрый день! Столкнулся с ошибкой ValueError: The values in t must be monotonically increasing or monotonically decreasing; repeated values are allowed.
Возможно, кто-то с ней сталкивался. Как её исправить? Очень прошу помощи
PS: пишу в Google Colab
Возможно, кто-то с ней сталкивался. Как её исправить? Очень прошу помощи
Python:
from scipy.integrate import odeint
y01 = -0.0572116165639333, 1.0390438119943561, 7077.6823959611875, -0.26, 5000, -2.38, 6.45, 2.95, 0.6 #вектор значений неизвестных в t0
def fr(t, yay, phb, et, ptb, mqb, pes): # система уравнений
y0, y1, y2, y3, y4, y5, y6, y7, y9 = yay
dy0dt = ptb / y4 * y5 / sqrt(y5**2 + y6**2) * function_d(y4, y5, y6, y9, ptb, mqb, pes) - 1 / y2**2 + y1**2 / y2
dy1dt = ptb / y4 * y6 / sqrt(y5**2 + y6**2) * function_d(y4, y5, y6, y9, ptb, mqb, pes) - y0 * y1 / y2
dy2dt = sqrt(1 / phb) * et * sin(y3)
dy3dt = (sqrt(1 / phb) * (1 + et * cos(y3))) / (phb / (1 + et * np.cos(y3)))
dy4dt = -mqb * function_d(y4, y5, y6, y9, ptb, mqb, pes)
dy5dt = y6 * y1 / y2 - y7
dy6dt = -y5 * 2 * y1 / y2 + y6 * y0 / y2 - y8 * 1 / y2
dy7dt = y5 * (-2 / y2**3 + y1**2 / y2**2) + y6 * (-y0 * y1) / y2 + y8 * y1 / y2**2
dy8dt = 0
dy9dt = ptb / y4**2 * (sqrt(y5**2 + y6**2)) * function_d(y4, y5, y6, y9, ptb, mqb, pes)
return dy0dt, dy1dt, dy2dt, dy3dt, dy4dt, dy5dt, dy6dt, dy7dt, dy8dt, dy9dt
t = np.linspace(0, 10, 20)
sol = odeint(fr, t, y01, args=(ph0b, et0, ptb, mqb, pes))
PS: пишу в Google Colab