🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script script_225cvmn_225.py
Version 1.0.0
Date de création 02/03/2026
Auteur / Demandeur IA Générée (Gemini)
Objectif principal Simuler et visualiser la propagation d’une maladie au sein d’une population via le modèle compartimental SIR.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Ce script modélise l’évolution temporelle de trois catégories d’individus : les Susceptibles (sains), les Infectés et les Rétablis (immunisés ou décédés). Il résout un système d’équations différentielles ordinaires pour prédire le pic épidémique et génère un graphique d’évolution.
📌 Problème résolu
Il permet de prévoir l’impact d’une maladie en fonction de son taux de transmission (β) et de son taux de guérison (γ), facilitant ainsi la compréhension théorique de l’immunité collective et du nombre de reproduction de base (R0).
⚙️ SPÉCIFICATIONS TECHNIQUES
🐍 Environnement
Élément Valeur
Version Python 3.x
OS cible Tous (Windows / Linux / MacOS)
Mode d’exécution CLI / Module / Jupyter Notebook
📦 Dépendances / Librairies
numpy : Calcul numérique et gestion des vecteurs.
scipy : Utilisation de odeint pour l’intégration numérique.
matplotlib : Génération de graphiques statiques.
📥 ENTRÉES (INPUTS)
# Nom Type Obligatoire Description Exemple
1 N int ✅ Oui Taille totale de la population 100000
2 I0 int ✅ Oui Nombre initial d’infectés 10
3 beta float ❌ Non Taux de transmission (défaut 0.3) 0.25
4 gamma float ❌ Non Taux de rétablissement (défaut 0.1) 0.05
📤 SORTIES (OUTPUTS)
# Nom Type Description Exemple
1 R_naught float Calcul du R0 (β/γ) 5.0
2 ret.T array Séries temporelles pour S, I et R [S_list, I_list, R_list]
🧱 STRUCTURE DU SCRIPT
script_225cvmn_225.py
│
├── 📌 IMPORTS (numpy, scipy, matplotlib)
├── 📌 CLASSE SIRSimulation
│ ├── __init__() → Initialisation des paramètres et calcul du R0
│ ├── sir_model_equations() → Définition mathématique du modèle
│ ├── run_simulation() → Résolution numérique via odeint
│ └── plot_results() → Génération du graphique
└── 📌 MAIN (Exemple d’utilisation avec 100k personnes sur 300 jours)
🔧 Détail des fonctions principales
Fonction Paramètres Retour Rôle
sir_model_equations(y, t, N, beta, gamma) y (list), t (float), params list Retourne les dérivées dS/dt, dI/dt, dR/dt.
run_simulation(days) days (int) tuple Calcule les courbes sur la durée spécifiée.
plot_results() Aucun None Affiche la courbe de l’épidémie avec Matplotlib.
🔄 LOGIQUE / ALGORITHME
Initialisation : Calcul du nombre de Susceptibles de départ (S=N−I−R).
Modélisation : Définition des taux de variation :
dtdS=−NβSI
dtdI=NβSI−γI
dtdR=γI
Résolution : odeint itère sur le vecteur temps pour calculer les valeurs à chaque étape.
Visualisation : Plot des trois courbes sur un même repère.
🧪 TESTS ATTENDUS
# Cas de test Entrée Résultat attendu Statut
1 Cas nominal β=0.25,γ=0.05 R0=5.0, courbe en cloche pour I ⬜ À tester
2 Infection nulle I0=0 Courbes plates (pas d’épidémie) ⬜ À tester
3 Immunité totale R0=N Aucune nouvelle infection ⬜ À tester
📝 EXEMPLE D’UTILISATION
▶️ Lancement standard
Python
# Dans le script :
sim = SIRSimulation(N=100000, I0=10, beta=0.25, gamma=0.05)
sim.run_simulation(days=300)
sim.plot_results()
📋 Sortie console attendue
Plaintext
Le R0 de cette simulation est : 5.00
[Fenêtre graphique affichant les courbes S, I, R]



Avis
Il n’y a pas encore d’avis.