Sistema de simulación de propagación de epidemias basado en Python+Html

Dirección de descarga de recursos : https://download.csdn.net/download/sheziqiong/88288173
Dirección de descarga de recursos : https://download.csdn.net/download/sheziqiong/88288173

Sistema de simulación de propagación de epidemias.

1. Informe de epidemia

Introducción a los antecedentes

​ Para estudiar la propagación del nuevo coronavirus entre la población, analizamos el impacto de diversas medidas de prevención epidémica (uso de máscaras, restricción de viajes, aumento de hospitales y velocidad de tratamiento) en la propagación de la epidemia. Analice la propagación de la epidemia desde tres aspectos: personal, gubernamental y médico.

pila de tecnología

  • Interfaz

    Utilice html+javascript+boostrap simple para escribir páginas frontales y pequeñas animaciones.

  • extremo posterior

    Combinado con el marco web flask de Python para la interacción de datos de front-end y back-end, la simulación de front-end completó y devolvió datos json, y utilizó la biblioteca de documentos y la biblioteca de dibujos de Python para dibujar un informe simple.

ejecución de código

Grabe el proyecto y ejecute cmd.

pip install -r requisitos.txt instala las dependencias de Python

Ejecute la aplicación Python.py

Ideas de modelado

reglas específicas

Una sola bola se simula como una persona con un diámetro de 30 px y una longitud de 30 px. Cuando la distancia entre dos personas es de 60 px o se produce una colisión, puede ocurrir una infección en este momento. Entre ellos, el azul representa el período de incubación, el rojo representa la infección, el marrón representa la muerte si no se mueve, el amarillo representa la recuperación y tiene anticuerpos en este momento, y el negro representa la salud y no hay infección.

configuración de parámetros

​ Cuando no llevas mascarilla y estás demasiado cerca o chocas con personas en el periodo de incubación: 1% de probabilidad de infección si tienes anticuerpos, 5% de probabilidad de infección si no tienes anticuerpos.

​ Cuando no llevas mascarilla y estás demasiado cerca o chocas con alguien que está infectado: 5% de probabilidad de infección si tienes anticuerpos, 30% de probabilidad de infección si no tienes anticuerpos.

​ Al usar una máscara y estar demasiado cerca o chocar con alguien en el período de incubación: tasa de infección del 0,3% con anticuerpos, tasa de infección del 1% sin anticuerpos.

​ Al usar una máscara y estar demasiado cerca o chocar con una persona infectada: aquellos con anticuerpos tienen un 3% de posibilidades de infección, y aquellos sin anticuerpos tienen un 15% de posibilidades de infección.

Las multitudes pueden acumularse y, si la distancia entre las bolas es demasiado corta durante mucho tiempo, la probabilidad de infección aumentará significativamente. El movimiento de multitudes es un movimiento aleatorio y se establece en 5 niveles en total. Una vez abierto el hospital, la velocidad de admisión se establece en 3 niveles (lento, medio, rápido) y el número de personas admitidas en cada momento es 5. La capacidad del hospital se puede configurar de forma independiente.

Construcción del modelo

De acuerdo con las reglas anteriores, el programa se escribe en JavaScript y se visualizan los datos.

Teniendo en cuenta la eficiencia del programa y el tiempo de ejecución, nuestra grilla utiliza 813*830 (unidad: px).

Después de la ejecución, se devolverá un informe. Principalmente observamos y analizamos los cambios en el número de infecciones, números latentes y muertes a lo largo del tiempo.

2. Datos básicos

Número inicial de infecciones: 50
Número inicial de personas: 60
Estado de reunión de la multitud: Reunión cerrada
Velocidad de movimiento de la multitud: 5 niveles (cinco niveles en total)
Si se debe usar una máscara: No Si
se debe abrir el hospital: El hospital está abierto
Capacidad del hospital: 20
Velocidad de almacenamiento hospitalario: 1 nivel (velocidad más lenta)

Según las estadísticas de la Oficina Nacional de Estadísticas y artículos relacionados, los parámetros del modelo se establecen de la siguiente manera:
una sola bola se simula como una persona, el diámetro de la bola es de 30 px y la longitud es de 30 px. Cuando la distancia entre las dos personas es de 60 px o se produce una colisión, esto puede ocurrir Eventos infecciosos. Entre ellos, el azul representa el período de incubación, el rojo representa la infección, el marrón representa la muerte si no se mueve, el naranja representa la recuperación y tiene anticuerpos en este momento, y el negro representa la salud y no hay infección.
·Cuando no se usa mascarilla: Existe un 1% de probabilidad de infección con anticuerpos durante el período de incubación. Existe un 5% de posibilidades de infección sin anticuerpos durante el período de incubación. Aquellos con anticuerpos durante el período de infección tienen un 5% de posibilidades de infección, y aquellos sin anticuerpos durante el período de infección tienen un 30% de posibilidades de infección.
·Al usar mascarilla: Existe un 0,3% de probabilidad de infección con anticuerpos durante el período de incubación. Sin anticuerpos durante el período de incubación, la probabilidad de infección es del 1%. Hay un 3% de posibilidades de infección si hay anticuerpos durante el período de infección y un 15% de posibilidades de infección si no hay anticuerpos durante el período de infección.
Pueden acumularse multitudes y, cuando la distancia entre los gránulos es demasiado corta durante un tiempo prolongado, la probabilidad de infección naturalmente aumentará significativamente. El movimiento de multitudes es un movimiento aleatorio y se establece en 5 niveles en total. Una vez abierto el hospital, la velocidad de admisión se establece en 3 niveles (lento, medio, rápido) y el número de personas admitidas en cada momento es 10. La capacidad del hospital se puede configurar de forma independiente.

3. Análisis de datos

Rojo: el número actual de infecciones Azul: el número actual de casos latentes Verde: el número actual de muertes
Refleja la situación epidémica en el momento en la abscisa

Rojo: número acumulado de infecciones Azul: número acumulado de casos latentes Verde: número acumulado de muertes
Refleja la situación epidémica acumulada en este momento en la abscisa

Total: 110
Muertes: 31

Número total de personas: 110
Número de personas infectadas: 78

4. Modelo matemático

Dirección de descarga de recursos : https://download.csdn.net/download/sheziqiong/88288173
Dirección de descarga de recursos : https://download.csdn.net/download/sheziqiong/88288173

Supongo que te gusta

Origin blog.csdn.net/newlw/article/details/132634646
Recomendado
Clasificación