ODEintWarning: при этом вызове выполнена избыточная работа (возможно, неправильный тип Dfun). SciPy.integrare и odientPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 ODEintWarning: при этом вызове выполнена избыточная работа (возможно, неправильный тип Dfun). SciPy.integrare и odient

Сообщение Anonymous »


I'm solving a series of 80 ODE's that represent the dynamics of an influenza outbreak in a population split into three immunity levels and four age groups. I have just changed my initial conditions to account for some people to be asymptomatic. And now have an error message. Мои начальные условия сейчас:
импортировать numpy как np
из scipy.integrate import odeint
импортировать matplotlib.pyplot как plt

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

# N is the sum of all the age compartments

N1 = 8010000
N2 = 7610000
N3 = 38810000
N4 = 12390000
N = N1 + N2 + N3 + N4

# Initial number of all compartment

# Exposed

E_s10 = 0
E_s20 = 0
E_s30 = 0
E_s40 = 0

E_v10 = 0
E_v20 = 0
E_v30 = 0
E_v40 = 0

E_i10 = 0
E_i20 = 0
E_i30 = 0
E_i40 = 0
#Symptomatic Infections

I_s10 = 29700
I_s20 = 27225
I_s30 = 143550
I_s40 = 47025

I_v10 = 0
I_v20 = 0
I_v30 = 0
I_v40 = 0

I_i10 = 0
I_i20 = 0
I_i30 = 0
I_i40 = 0

#Asymptomatic Infections

A_s10 = 9900
A_s20 = 9075
A_s30 = 47850
A_s40 = 15675

A_v10 = 0
A_v20 = 0
A_v30 = 0
A_v40 = 0

A_i10 = 0
A_i20 = 0
A_i30 = 0
A_i40 = 0
#Recovered

R_s10 = 0
R_s20 = 0
R_s30 = 0
R_s40 = 0

R_v10 = 0
R_v20 = 0
R_v30 = 0
R_v40 = 0

R_i10 = 0
R_i20 = 0
R_i30 = 0
R_i40 = 0

# Susceptibles
V10 = 0
V20 = 0
V30 = 0
V40 = 0

S_i10 = 3188160
S_i20 = 3029480
S_i30 = 15447440
S_i40 = 4930920

S10 = (N1 - V10 - S_i10 - E_s10 - E_v10 - E_i10 - I_s10 - I_v10 - I_i10 - A_s10 - A_v10 - A_i10 - R_s10 - R_v10 - R_i10) * 0.6
S20 = (N2 - V20 - S_i20 - E_s20 - E_v20 - E_i20 - I_s20 - I_v20 - I_i20 - A_s20 - A_v20 - A_i20 - R_s20 - R_v20 - R_i20) * 0.6
S30 = (N3 - V30 - S_i30 - E_s30 - E_v30 - E_i30 - I_s30 - I_v30 - I_i30 - A_s30 - A_v30 - A_i30 - R_s30 - R_v30 - R_i30) * 0.6
S40 = (N4 - V40 - S_i40 - E_s40 - E_v40 - E_i40 - I_s40 - I_v40 - I_i40 - A_s40 - A_v40 - A_i40 - R_s40 - R_v40 - R_i40) * 0.6

#Cummulative Innitial Conditions
C_s10 = 0
C_s20 = 0
C_s30 = 0
C_s40 = 0
C_v10 = 0
C_v20 = 0
C_v30 = 0
C_v40 = 0
C_i10 = 0
C_i20 = 0
C_i30 = 0
C_i40 = 0
C_s0 = 0
C_v0 = 0
C_i0 = 0
C0 = 0

# Vaccination profile
V_overall10 = 0
V_overall20 = 0
V_overall30 = 0
V_overall40 = 0

# Definitions of parameters
m = 0.5
# Contact Rates
beta11 = 0.98
beta12 = 0.25 * m
beta13 = 1.1 * m
beta14 = 0.096 * m
beta21 = 0.22
beta22 = 1.5 * m
beta23 = 1.1 * m
beta24 = 0.15 * m
beta31 = 0.21
beta32 = 0.24 * m
beta33 = 1.5 * m
beta34 = 0.2 * m
beta41 = 0.069
beta42 = 0.12 * m
beta43 = 0.74 * m
beta44 = 0.36 * m

kappa = 0.71
alpha = 0.26
eta = 0.26
delta_i = 1
delta_v = 1
delta_a = 0.2
s_i = 0.3
p = 0.75
q = 0.25
l = 0.2

#Vaccine Efficacy
s_v1 = 0.48
s_v2 = 0.07
s_v3 = 0.20
s_v4 = 0.12

def epsilon1(t, V1, E_v1, I_v1, A_v1, R_v1, N1):
if V1 + E_v1 + I_v1 + A_v1 + R_v1 > 0.4 * N1:
return 0
elif 0 < t 

Источник: [url]https://stackoverflow.com/questions/68475564/odeintwarning-excess-work-done-on-this-call-perhaps-wrong-dfun-type-scipy-in[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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