Solve_ivp из scipy не интегрирует весь диапазон tspanPython

Программы на Python
Anonymous
Solve_ivp из scipy не интегрирует весь диапазон tspan

Сообщение Anonymous »

Я пытаюсь использоватьsolve_ivp из scipy в Python для решения IVP. Я указал аргумент tspan дляsolve_ivp равным (0,10), как показано ниже. Однако по какой-то причине решения, которые я получаю, всегда останавливаются около t=2,5.

Код: Выделить всё

from scipy.integrate import solve_ivp
import numpy as np
import matplotlib.pyplot as plt
import scipy.optimize as optim

def dudt(t, u):
return u*(1-u/12)-4*np.heaviside(-(t-5), 1)

ic = [2,4,6,8,10,12,14,16,18,20]

sol = solve_ivp(dudt, (0, 10), ic, t_eval=np.linspace(0, 10, 10000))

for solution in sol.y:
y = [y for y in solution if y >= 0]
t = sol.t[:len(y)]
plt.plot(t, y)
Изображение


Подробнее здесь: https://stackoverflow.com/questions/693 ... e-of-tspan

Вернуться в «Python»