Составил простенький код для интегрирования уравнения:
from scipy.integrate import odeint
from numpy import linspace
from matplotlib import pyplot
def epid(y, t):
k = 0.00003
L = 250000
return k*y*(L-y)
t = linspace(0, 12, 61)
y = odeint(epid, 250, t)
pyplot(t, y)
Беда в том что при запуске он говорит:
TypeError: 'module' object is not callable
В чем я ошибся и как это исправить?
not callable - эта ошибка возникает, когда вы пишете скобки у объекта, который нельзя вызывать как функцию. Например: 5().
Кокретно в этом случае вы пытаетесь вызвать какой-то модуль. Я не очень хорошо разбируюсь в математических пакетах, но один из: odeint, linspace, pyplot - это модуль, а не функция. Наверно, последний.
from scipy.integrate import odeint
from numpy import linspace
from matplotlib import pyplot
def epid(y, t):
k = 0.00003
L = 250000
return k * y * (L - y)
t = linspace(0, 12, 61)
y = odeint(epid, 250, t)
pyplot.plot(t, y)
pyplot.show()