Documentos de Académico
Documentos de Profesional
Documentos de Cultura
RIOBAMBA - ECUADOR
2022
Agradecimiento
Dedicatoria
Contenido
Agradecimiento..........................................................................................................................2
Dedicatoria..................................................................................................................................3
Resumen......................................................................................................................................8
Abstract.......................................................................................................................................9
Introducción.............................................................................................................................10
Pregunta científica................................................................................................................10
Hipótesis................................................................................................................................10
Planteamiento del problema....................................................................................................11
Formulación del problema...................................................................................................12
Justificación..............................................................................................................................12
Objetivos...................................................................................................................................13
Objetivo General..................................................................................................................13
Objetivos Específicos............................................................................................................13
Capitulo II. Marco teórico.......................................................................................................15
2.1. Población porcina en Ecuador......................................................................................15
2.2. Enfermedad infecciosa..................................................................................................16
2.3. Enfermedades porcinas en Ecuador............................................................................16
2.4. Peste porcina clásica (PPC)..........................................................................................16
2.5. Peste porcina clásica en Ecuador.................................................................................17
2.6. Modelado matemático de enfermedades......................................................................17
2.7. Factores que determinan el modelamiento de enfermedades.....................................18
Capítulo III. Metodología........................................................................................................21
3.1. Metodología De Investigación.......................................................................................21
3.2. Tipo y diseño de la investigación..................................................................................21
3.3. Métodos de investigación..............................................................................................22
3.4. Enfoque de la investigación......................................................................................22
3.5. Técnicas e instrumentos de recolección de información.............................................23
3.6. Datos...............................................................................................................................24
3.7. Selección de Muestra.....................................................................................................24
3.8. Modelo SEIR..................................................................................................................24
3.9. Método de Euler............................................................................................................26
Resultados.................................................................................................................................28
Análisis de datos...................................................................................................................28
Modelamiento.......................................................................................................................30
Modelo SEIR......................................................................................................................31
Conclusiones.............................................................................................................................34
Recomendaciones.....................................................................................................................35
Bibliografía...............................................................................................................................36
Anexos.......................................................................................................................................37
Índice de Tablas
El interés generalizado por conocer y controlar las enfermedades que afectan a humanos
y animales ha permitido la creación de modelos de enfermedades mediante diversos
métodos (modelos matemáticos) que se utilizan actualmente en la predicción de la
propagación de epidemias nuevas, reducción del contagio de enfermedades infecciosas,
evaluación del impacto que tendrán las diferentes estrategias de control de
enfermedades y en la mejora de las condiciones de vida de los individuos (Rincón et al,
2019) Entre las enfermedades con mayor potencial para su difusión y que poseen un
elevado impacto económico para los porcicultores de todos los sectores se encuentra la
peste porcina clásica (VPPC). Esta es una enfermedad que frena la producción animal y
el comercio internacional (Ferrer et al. 2010). En el Ecuador, la VPPC se reportó por
primera vez hacia la década de los 40, y desde entonces ha ocasionado importantes
pérdidas a la industria porcina nacional por su alto índice de morbimortalidad, que se
ubica entre el 40 y 60%, principalmente en las regiones de la sierra y la costa (Noboa et
al, 2019).
Las consecuencias de una epidemia del VPPC serían graves, hecho por el cual continúa
siendo interesante analizar el comportamiento de la enfermedad, debido a que su control
es indispensable para garantizar el sostenimiento de los sistemas productivos porcinos,
por lo cual la implementación de planes de manejo y control de la enfermedad es parte
imprescindible de cualquier programa conducente a su control, para lo cual conocer la
evolución de la enfermedad bajo cada condición es información que debe ser manejada,
por lo que la simulación de escenarios de la evolución de la enfermedad puede aportar
significativas ventajas en el control de la peste en cerdos, con lo cual se estaría
realizando una mejor planificación y por consiguiente un aporte muy importante a la
economía en general de los países, así como a la sanidad y manejo de enfermedades en
el ámbito agrícola.
Pregunta científica
¿Cómo modelar y simular la difusión del virus de peste porcina clásica en las granjas de
la Región Sierra en los años 2015 al 2020?
Hipótesis
Es posible modelar la difusión del virus de peste porcina clásica en las granjas de la
Región Sierra en los años 2015 al 2020.
Justificación
El modelo epidemiológico SEIR de la peste porcina permite ser un factor
importante en la toma de decisiones para la reducción del nivel de propagación de esta
enfermedad, la razón es que este tipo de estudios no se han realizado en la zona, y
aportaría como una base primordial para las predicciones del problema que causa el
virus de la peste porcina clásica.
Objetivos
Objetivo General
Diseñar un modelo de simulación Susceptible-Expuesto-Infectado-Recuperado de
difusión del virus de peste porcina clásica en granjas de la región Sierra, 2015-2020.
Objetivos Específicos
1. Realizar un diagnóstico del manejo de las enfermedades porcinas en las granjas
porcinas de la Región Sierra del Ecuador.
2. Identificar los factores que repercuten en los parámetros poblacionales del
modelo epidemiológico Susceptible-Expuesto-Infectado-Recuperado para los
brotes del Virus de la Peste Porcina Clásica en la Región Sierra del Ecuador en
el periodo 2015-2020.
3. Estimar los parámetros poblacionales del modelo epidemiológico Susceptible-
Expuesto-Infectado-Recuperado.
4. Simular en Python la propagación de la epidemia.
5. Comparar la predicción del modelo matemático con datos reales obtenidos del
registro de brotes del Virus de la Peste Porcina Clásica en la Región Sierra del
Ecuador en el periodo 2015-2020 según la base de datos de Agrocalidad.
Capitulo II. Marco teórico
2.1. Población porcina en Ecuador
El censo agropecuario de Ecuador que se realizó el año pasado demostró que la
población porcina del país se ha incrementado en los últimos diez años. No obstante, a
lo largo de 2017 la producción porcina ecuatoriana cayó un 15 %, aunque el país ha
demostrado ser un gran productor de carne de cerdo. Este aumento de la producción de
carne de porcino está motivado por la implementación de la tecnología en los procesos y
la desmitificación de las propiedades de la carne.
actualmente, en el país existen 1.737 granjas porcinas con 20 o más animales o con un
mínimo de 5 madres. El mayor porcentaje de granjas y de animales se encuentran en las
regiones Sierra y Costa, que cuentan con el 79 % de las granjas registradas y el 95 % de
la población porcina.
Los resultados son una media de producción/madres de 16,83. Es decir, una madre
produce 16,83 cerdos por año. En las fincas tecnificadas este promedio es de 22,4
cerdos/madre/año, mientras que en las fincas no tecnificadas es de 9,6
cerdos/madre/año. La relación entre madres y cerdos es de un cerdo por cada 15 madres.
Según (Ruiz, 2012) define enfermedad infecciosa como “aquella que puede ser
trasmitida de un individuo a otro de la población. Dicho de otro modo, se trata de
aquellas enfermedades en las cuales la proximidad a un organismo ya infectado supone
un aumento significativo del riesgo de resultar también infectado. Un ejemplo de
enfermedad infecciosa sería la gripe, mientras que un ejemplo de enfermedad no
infecciosa podría ser el cáncer. Las enfermedades infecciosas aún pueden ser divididas
en dos grupos, en función de la fuente; por un lado, consideramos las causadas por
microparásitos, en este grupo se incluyen: bacterias, virus, protozoos o, incluso priones.
Por otro lado, tenemos las enfermedades provocadas por macroparásitos, en las cuáles
incluiríamos diversos organismos, en general del reino animal”.
En el Ecuador, la VPPC se reportó por primera vez hacia la década de los 40, y desde
entonces ha ocasionado importantes pérdidas a la industria porcina nacional por su alto
índice de morbimortalidad, que se ubica entre el 40 y 60%, principalmente en las
regiones de la sierra y la costa (Noboa et al, 2019). Dado que no existe cura para la
enfermedad, las medidas de control juegan un papel fundamental en la erradicación de
la misma.
Es probable que estos dos objetivos entren en conflicto: para obtener una mayor
precisión, la predicción intentará incluir cualquier variable relevante en el modelo; sin
embargo, cuando nuestro objetivo sea comprender el fenómeno, intentaremos mantener
las variables influyentes o más importantes.
Los tipos de estado por los pasan los individuos no son iguales para cada enfermedad.
Los posibles estados que más suelen utilizarse en el modelado son los siguientes:
𝑆+𝐸+𝐼+𝑅=1
Los agentes infecciosos por los que se transmite la enfermedad difieren en cada
enfermedad. Esto toma especial importancia debido a que los agentes infecciosos
condicionan los diversos estados por los que pasan los afectados por una enfermedad.
Un modelo es estocástico cuando al menos una variable del mismo es tomada como un
dato al azar y las relaciones entre variables se toman por medio de funciones
probabilísticas. Por tanto, estos modelos incorporan oportunidad, pero normalmente son
costosos computacionalmente y más difíciles de analizar que los correspondientes
modelos determinísticos.
Capítulo III. Metodología
Por otro lado, Landeau (2017) afirman que el método analítico permite usar detalles o
información ya disponible y analizarlos para crear una mirada crítica de los resultados.
Este método está dirigido a encontrar una solución al problema planteado para el
presente trabajo investigativo, para la comprensión de los estudiantes de la resolución
de ecuaciones con métodos numéricos.
Pita y Pértegas (2002) habla de que el enfoque cuantitativo se basa en los métodos que
desarrollan hechos concretos y datos numéricos, y establecen la relación de causa y
efecto entre dos variables utilizando diferentes métodos estadísticos, computacionales y
estadísticos. Este tipo de investigación se utiliza generalmente para establecer los
hechos generalizados sobre un tema en particular, el cual generalmente se realiza
mediante encuestas, experimentos, etc.
Se recopila información
directamente en el área de
estudio, para el cumplimiento
de los objetivos planteados, los
Observación Observación
cuales, los fundamentos teóricos
directa
validaron la temática de
investigación.
Se recopila información de
fuentes confiables de
Revisión Análisis
información como artículos
Bibliográfica Documental
científicos de revistas
indexadas, tesis de grado y
postgrado, etc., acerca de
modelación en Matlab de
ecuaciones diferenciales
parciales, aplicando métodos de
diferencias finitas y elementos
finitos.
3.6. Datos
La fuente de los datos que se utilizó para la modelación epidemiológica Susceptible-
Expuesto-Infectado-Recuperado para los brotes del Virus de la Peste Porcina Clásica en
la Región Sierra del Ecuador, corresponden a la base de datos del sistema de
Agrocalidad Ecuador, los datos corresponden a los casos registrados positivos,
vacunados, sacrificados y en cuarentena por peste porcina clásica de la sierra
Ecuatoriana.
3.7. Selección de Muestra
Considerado que los datos se encuentran en el sistema de Agrocalidad Ec, los cuales
fueron obtenidos mediante solicitud a la institución, estos datos serán ordenados en una
base de datos de propia elaboración, los mismos que serán utilizados para generación
del modelo. Se debe tener en cuenta el análisis será desde el año 2015 al 2020.
S→E→I→R
Supongamos ahora que tenemos una población de N individuos con presencia de una
enfermad infecto contagiosa, entonces en cada instante de tiempo 𝑡 hay cierta cantidad
de individuos en cada estado, lo cual representamos por:
El sistema de ecuaciones diferenciales ordinarias del modelo SEIR para una población
fija es el siguiente:
N=S+ E+ I + R
ds β∗( SI )
=μ∗( N−S )− −vS
dt N
dE β∗( SI )
= −( μ+ σ )∗E
dt N
dI
=σE− ( γ + μ ) I
dt
dR
=γI−μR+ vS
dt
adquieren inmunidad.
3.9. Método de Euler
El Método de Euler señala que puede que no tengamos la función real que representa la
solución a la Ecuación diferencial precedente. Sin embargo, si poseemos la pendiente de
la curva en cualquier punto. Es decir, el ritmo de cambio de la curva, que no es otra cosa
que su derivada, la cual podemos utilizar para iterar sobre soluciones en distintos
puntos.
y= y 0+ f (x 0 , y 0)h
En general, el Método de Euler dice que empecemos por el punto dado por la condición
inicial y continuemos en la dirección indicada por el Campo de direcciones. Luego nos
detengamos, miramos a la pendiente en la nueva ubicación, y procedemos en esa
dirección.
Resultados
Análisis de datos
Según los datos de la dirección de vigilancia zoosanitaria SIZSE, se muestra el número
de porcinos de la región sierra que se encuentran vacunados, número de porcinos que
han dado positivos de contagio de peste porcina clásica, número de sacrificados y
cerdos en cuarentena.
Los casos positivos de peste porcina clásica a partir del año 2015 han ido aumentando
hasta el año 2018, a partir de ese año se presenta una disminución de casos positivos
hasta el año 2020.
3.50%
3.00%
2.50%
2.00%
1.48%
1.50%
1.16%
0.97% 1.05%
1.00% 0.78%
0.50%
0.00%
2015 2016 2017 2018 2019 2020
Los datos muestran además que el porcentaje de porcinos sacrificados entre el año 2015
y 2016 se elevo de gran manera, esto puede deberse por un mal control de la
enfermedad, a partir del año 2017 disminuyo el porcentaje y se evidencia un leve
aumento de los casos para el 2018, finalmente se evidencia una disminución de
sacrificios hasta el año 2020.
25.00%
21.95%
20.00%
16.98%
15.00%
11.38%
10.08%
10.00% 8.57%
5.00%
0.00%
2015 2016 2017 2018 2019 2020
Los porcinos en cuarentena a partir del año 2015 aumentaron hasta el año 2019, lo cual
evidencia que existe un mayor control de la enfermedad, para el año 2020 el número de
porcinos en cuarentena disminuyo.
Modelamiento
Para el modelamiento se tiene en consideración las variables de población de cerdos,
numero inicial de cerdos expuestos, numero inicial de infectados, numero de cerdos
retirados, tasa de contagio (α), tasa de transmisión (β), tasa de recuperación (γ).
La tasa de contagio (α), tasa de transmisión (β) y tasa de recuperación (γ) a partir de los
datos obtenidos se calcula de la siguiente manera:
Sin embargo, las tasas fueron obtenidas mediante el análisis de pocos datos registrados
por el SIZSE, por lo que para el mejoramiento del modelo se consideró de manera
bibliográfica las tasas que intervienen en la modelación, siendo estas las siguientes:
población=10000
expuestos=0
infectados=1
retirados=0
α = 0.01
β = 0.003
γ = 0.01
días=50
paso=0.1
Modelo SEIR
Gráfico 5. Modelo SEIR por PPC en la sierra Ecuador.
El modelo muestra que la tendencia de susceptibilidad tiene una tendencia alta al inicio,
seguidamente esta disminuye completamente hasta los 15 días donde se muestra un
valor casi igual a 0 hasta terminar la serie de tiempo, esto nos indica que, si bien el
inicio la susceptibilidad es alta, existe también un control mediante el cual los porcinos
son aislado o se toman otras medidas para prevenir contagios después de identificar un
caso positivo.
La tendencia de exposición de los porcinos ante la peste porcina clásica muestra que en
los primeros 15 días aumenta de manera considerable, ya que al momento de existir un
contagiado, este no es rápidamente identificado, por lo que los cerdos que se encuentran
a su alrededor son un grupo que están expuestos al virus de manera directa, después de
los 15 días esta tendencia disminuye, ya que una ves identificados el contagiados, se
puede tomar medidas de control para no exponer a los demás cerdos al virus, sin
embargo esta tendencia no llega totalmente a cero producto de que más población
porcina se ve afectada con el virus y ya está también contagiada.
El modelo SEIR muestra que la población de cerdos susceptibles (sanos) disminuye con
el paso del tiempo hasta al punto de llegar a cero, este descenso de susceptibilidad se
realiza durante los primeros 15 días, lo muestra que es el tiempo necesario para
contagiar a toda la población a partir de un contagiado. Por lo tanto la población
expuesta aumenta durante los 15 días que dura el proceso de infección total y luego
disminuye; los infectados aumentan de manera leve a lo largo de la serie de tiempo al
igual que los recuperados.
Recomendaciones
Se recomienda a los futuros investigadores desarrollar modelos matemáticos
considerando un mayor número de datos en un periodo más largo de tiempo, para
obtener resultados más cercanos a realidad y reducir el error.
Carrión, E., López, B., & Ivorra, B. (2018). Evaluación del riesgo de propagación de epidemias
ganaderas mediante simulación matemática. Pensamiento Matemático, 2, 8.
Hayama, Y., Shimizu, Y., Murato, Y., Sawai, K., & Yamamoto, T. (2020). Estimation of
infection risk on pig farms in infected wild boar areas—Epidemiological analysis for
the reemergence of classical swine fever in Japan in 2018. Preventive veterinary
medicine, 175.
Jurado, C., Paternoster, G., Martínez, B., Burton, K., & Mur, L. (2019). Could African swine
fever and classical swine fever viruses enter into the United States via swine products
carried in air passengers’ luggage? Transboundary and emerging diseases, 66(1), 166-
180.
Mehrotra, A., Bhushan, B., Kumar, A., Panigrahi, M., Singh, A., Tiwari, A., & Mishra, B.
(2021). A 1.6 Mb region on SSC2 is associated with antibody response to classical
swine fever vaccination in a mixed pig population. Animal Biotechnology, 1-6.
Porphyre, T., & Correia, C. (2017). Vulnerability of the British swine industry to classical swine
fever. Scientific reports, 7(1), 1-16.
Wang, M., Sozzi, E., & Bohórquez, J. (2020). Decrypting the origin and pathogenesis in
pregnant ewes of a new ovine pestivirus closely related to classical swine fever virus.
Viruses, 12(7).
Anexos
Anexo 1. Datos contagios PPC 2015
TOTAL CERDOS
PROV CANT PARRO ANIMALE POSIT VACU SACRIFI CUARENTENA
INCIA ÓN QUIA S IVOS NADOS CADOS DOS
EL
CAÑA TAMB EL
R O TAMBO 2 2 11 0 2
BOLIV CHILL SAN 7 7 94 1 7
AR ANES JOSE
DEL
TAMBO
ZAPO PALETI
LOJA TILLO LLAS 2 1 99 1 2
PICHI QUIT YARUQ
NCHA O UI 2 2 333 0 2
SEVIL SEVILL
AZUA LA DE A DE
Y ORO ORO 4 3 46 0 4
SEVIL SEVILL
AZUA LA DE A DE
Y ORO ORO 5 1 32 1 5
COTO LA GUASA
PAXI MANA GANGA 56 1 0 1 56
SAN
PICHI QUIT JOSE DE
NCHA O MINAS 7 3 84 2 7
PICHI CUTUG
NCHA MEJIA LAHUA 3 1 74 1 3
Anexo 7. Código Python Método Euler para resolución de ecuaciones diferenciales
import sys
from matplotlib.figure import Figure
# límite de recurrencia más alto que el predeterminado,
# para asegurarnos de que podemos hacer frente a una entrada de usuario muy grande!
sys.setrecursionlimit(10**6)
def _algoritmo_euler(poblacion, expuestos, infectados, retirados, alfa, beta, gamma,
contador, paso):
if contador == 0:
T_0 = contador
S_0 = poblacion - expuestos - infectados - retirados
E_0 = expuestos
I_0 = infectados
R_0 = retirados
return [T_0], [S_0], [E_0], [I_0], [R_0]
else:
val = _algoritmo_euler(poblacion, expuestos, infectados, retirados, alfa, beta,
gamma, contador-1, paso)
# Calculamos los valores del sistemas de ecuación diferencial
T_next = val[0][contador-1] + paso
S_next = -beta * val[1][contador-1] * val[3][contador-1] * paso + val[1][contador-
1]
E_next = (beta * val[1][contador-1] * val[3][contador-1] - gamma * val[2]
[contador-1]) * paso + val[2][contador-1]
I_next = (alfa * val[2][contador-1] - gamma * val[3][contador-1]) * paso + val[3]
[contador-1]
R_next = gamma * val[3][contador-1] * paso + val[4][contador-1]
# Adicionamos los valores al final del vector
val[0].append(T_next)
val[1].append(S_next)
val[2].append(E_next)
val[3].append(I_next)
val[4].append(R_next)
return val
def _configuracion_grafica(poblacion, expuestos, infectados, retirados, alfa, beta,
gamma, dias, paso):
fig = Figure()
ax = fig.add_subplot(1, 1, 1)
# Etiquetas
ax.set_xlabel('Tiempo en días')
ax.set_ylabel('Número de individuos')
# Dibujamos la grilla
ax.grid(b=True)
# Removemos las marcas de los ejes
ax.yaxis.set_tick_params(length=0)
ax.xaxis.set_tick_params(length=0)
# Iteraciones a realizar.
contador = int(dias / paso)
val = _algoritmo_euler(poblacion, expuestos, infectados, retirados, alfa, beta, gamma,
contador, paso)
ax.plot(val[0], val[1], 'b', label='Susceptible')
ax.plot(val[0], val[2], 'y', label='Expuestos')
ax.plot(val[0], val[3], 'r', label='Infectados')
ax.plot(val[0], val[4], 'g', label='Retirados')
ax.legend()
return fig
Anexo 8. Código Python para modelo SEIR
#!/usr/bin/env python3
from tkinter import *
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg,
NavigationToolbar2Tk
from matplotlib.backend_bases import key_press_handler
from metodo_euler import _configuracion_grafica
ventana = Tk()
ventana.title("Modelo SEIR")
# Valores iniciales por defecto
poblacion=10000
expuestos=0
infectados=1
retirados=0
alfa=0.01
beta=0.003
gamma=0.01
dias=50
paso=0.1
# Gráfico con los datos del modelo
canvas = FigureCanvasTkAgg(_configuracion_grafica(poblacion,
expuestos,
infectados,
retirados,
alfa,
beta,
gamma,
dias,
paso),
ventana
)
canvas.draw()
canvas.get_tk_widget().grid(row=0, column=1, rowspan=2)
# Marco para la barra de matplotlib
graph_frame = Frame(ventana)
# Posiciona la barra abajo
toolbar = NavigationToolbar2Tk(canvas, graph_frame)
toolbar.update()
# Muestra el marco de matplotlib
graph_frame.grid(row=2, column=1)
# Conexíon de las entradas en tkinter con matplolib
canvas.mpl_connect("key_press_event", lambda event: key_press_handler(event,
canvas, toolbar))
# Marco con las configuraciones de los párametros y los botones
Modelo_SEIR_frame = LabelFrame(ventana, text="Parámetros del modelo SEIR",
pady=7)
Metodo_Euler_frame = LabelFrame(ventana, text="Parámetros del método de Euler",
pady=7)
button_frame = Frame(ventana)
# Celda para la población
poblacion_label = Label(Modelo_SEIR_frame, text="N:")
poblacion_field = Entry(Modelo_SEIR_frame, width=15)
poblacion_field.insert(0, poblacion)
# Muestra la celdas de la población
poblacion_label.grid(row=0, column=0, padx=(10, 0))
poblacion_field.grid(row=0, column=1, padx=(0, 10))
# Celda para los expuestos iniciales
expuestos_label = Label(Modelo_SEIR_frame, text="E(0):")
expuestos_field = Entry(Modelo_SEIR_frame, width=15)
expuestos_field.insert(0, expuestos)
# Muestra la celdas de los expuestos iniciales
expuestos_label.grid(row=1, column=0, padx=(10, 0))
expuestos_field.grid(row=1, column=1, padx=(0, 10))
# Celda para los infectados iniciales
infectados_label = Label(Modelo_SEIR_frame, text="I(0):")
infectados_field = Entry(Modelo_SEIR_frame, width=15)
infectados_field.insert(0, infectados)
# Muestra la celdas de los infectados iniciales
infectados_label.grid(row=2, column=0, padx=(10, 0))
infectados_field.grid(row=2, column=1, padx=(0, 10))
# Celda para los retirados
retirados_label = Label(Modelo_SEIR_frame, text="R(0):")
retirados_field = Entry(Modelo_SEIR_frame, width=15)
retirados_field.insert(0, retirados)
# Muestra la celdas de los retirados
retirados_label.grid(row=3, column=0, padx=(10, 0))
retirados_field.grid(row=3, column=1, padx=(0, 10))
# Celda para el alfa
alfa_label = Label(Modelo_SEIR_frame, text="α:")
alfa_field = Entry(Modelo_SEIR_frame, width=15)
alfa_field.insert(0, alfa)
# Muestra la celdas del alfa
alfa_label.grid(row=4, column=0, padx=(10, 0))
alfa_field.grid(row=4, column=1, padx=(0, 10))
# Celda para el beta
beta_label = Label(Modelo_SEIR_frame, text="β:")
beta_field = Entry(Modelo_SEIR_frame, width=15)
beta_field.insert(0, beta)
# Muestra la celdas del beta
beta_label.grid(row=5, column=0, padx=(10, 0))
beta_field.grid(row=5, column=1, padx=(0, 10))
# Celda para el gamma
gamma_label = Label(Modelo_SEIR_frame, text="γ:")
gamma_field = Entry(Modelo_SEIR_frame, width=15)
gamma_field.insert(0, gamma)
# Muestra la celdas del gamma
gamma_label.grid(row=6, column=0, padx=(10, 0))
gamma_field.grid(row=6, column=1, padx=(0, 10))
# Celda para el numero de iteraciones por días para el método de Euler
dias_label = Label(Metodo_Euler_frame, text="t:")
dias_field = Entry(Metodo_Euler_frame, width=15)
dias_field.insert(0, dias)
# Muestra la celdas de las iteraciones por días
dias_label.grid(row=0, column=0, padx=(10, 0))
dias_field.grid(row=0, column=1, padx=(0, 10))
# elda de la longitud del paso para el método de Euler
paso_label = Label(Metodo_Euler_frame, text="h:")
paso_field = Entry(Metodo_Euler_frame, width=15)
paso_field.insert(0, paso)
# Muestra la celdas de la longitud del paso
paso_label.grid(row=1, column=0, padx=(10, 0))
paso_field.grid(row=1, column=1, padx=(0, 10))
def graficar():
try:
poblacion_value = int(poblacion_field.get())
expuestos_value = int(expuestos_field.get())
infectados_value = int(infectados_field.get())
retirados_value = int(retirados_field.get())
alfa_value = float(alfa_field.get())
beta_value = float(beta_field.get())
gamma_value = float(gamma_field.get())
dias_value = float(dias_field.get())
paso_value = float(paso_field.get())
fig = _configuracion_grafica(poblacion=poblacion_value,
expuestos=expuestos_value,
infectados=infectados_value,
retirados=retirados_value,
alfa=alfa_value,
beta=beta_value,
gamma=gamma_value,
dias=dias_value,
paso=paso_value
)
canvas = FigureCanvasTkAgg(fig, ventana)
canvas.draw()
canvas.get_tk_widget().grid(row=0, column=1, rowspan=2)
except ValueError:
print("Los valores de la celda debese ser enteros o decimales!")
def salir():
# Para el ciclo principal
ventana.quit()
ventana.destroy()
# Boton de graficar
button = Button(button_frame, text="Graficar", command=graficar)
button.grid(row=0, column=0)
# Boton de salida
button = Button(button_frame, text="Salir", command=salir)
button.grid(row=0, column=1)
# Muestra los marcos con las configuraciones del modelo
Modelo_SEIR_frame.grid(row=0, column=0, padx=10)
Metodo_Euler_frame.grid(row=1, column=0, padx=10)
button_frame.grid(row=2, column=0)
if __name__ == '__main__':
ventana.mainloop()