@ElMigele
студент

Ошибка в построении результатов интегрирования?

Составил простенький код для интегрирования уравнения:
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
В чем я ошибся и как это исправить?
  • Вопрос задан
  • 684 просмотра
Решения вопроса 2
not callable - эта ошибка возникает, когда вы пишете скобки у объекта, который нельзя вызывать как функцию. Например: 5().

Кокретно в этом случае вы пытаетесь вызвать какой-то модуль. Я не очень хорошо разбируюсь в математических пакетах, но один из: odeint, linspace, pyplot - это модуль, а не функция. Наверно, последний.
Ответ написан
Комментировать
@nirvimel
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()
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы