Я использую solve_ivp
для решения ODE:
def test_ode(t, y):
dydt = C - y + (y ** 8 / (1 + y ** 8))
return dydt
steady_state = []
for C in np.linspace(0, 1, 1001):
sol = solve_ivp(test_ode, [0, 1e06], [0], method='BDF')
steady_state.append(sol.y[0][-1])
Это дает мне RuntimeWarning
:
ETA: --:--:--/anaconda3/lib/python3.6/site-packages/scipy/integrate/_ivp/bdf.py:418:
RuntimeWarning: divide by zero encountered in power
factors = error_norms ** (-1 / np.arange(order, order + 3))
Но, что еще хуже, бег в основном останавливается (или, по крайней мере, становится невероятно медленным). Замена начального значения [0]
на [1e-08]
не решает проблему. Как я могу это исправить?