🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script script_226cvmn_226.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 l’évolution temporelle des concentrations de deux espèces (X et Y) via le modèle de compétition biologique Lotka-Volterra.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Ce script utilise la programmation orientée objet pour modéliser un système proie-prédateur (ou activateur-inhibiteur). Il résout numériquement un système d’équations différentielles ordinaires (EDO) pour prédire comment les populations/concentrations évoluent sur une période donnée et génère un graphique de ces trajectoires.
📌 Problème résolu
Il permet de simuler des systèmes dynamiques complexes sans résolution analytique manuelle, offrant une visualisation claire des cycles d’oscillation caractéristiques des interactions biologiques ou chimiques.
⚙️ SPÉCIFICATIONS TECHNIQUES
🐍 Environnement
Élément Valeur
Version Python 3.x (nécessite numpy, scipy, matplotlib)
OS cible Tous (Windows / Linux / MacOS)
Mode d’exécution CLI / Script autonome
📦 Dépendances / Librairies
Librairies externes (pip install)
numpy (Calcul matriciel)
matplotlib (Visualisation graphique)
scipy (Résolution d’équations différentielles via odeint)
📥 ENTRÉES (INPUTS)
⚙️ Paramètres du Modèle (Variables internes)
# Nom Type Obligatoire Description Exemple
1 k1 float ✅ Oui Taux de croissance de X 1.0
2 k2 float ✅ Oui Taux d’interaction X+Y 0.5
3 k3 float ✅ Oui Taux de dégradation de Y 1.5
4 X0 / Y0 float ✅ Oui Concentrations initiales 5.0 / 2.0
📤 SORTIES (OUTPUTS)
📂 Données en sortie
Type Description
Graphique (Matplotlib) Fenêtre interactive affichant les courbes de concentration [X] et [Y] en fonction du temps.
Console Message de confirmation de l’initialisation du modèle avec les constantes choisies.
🧱 STRUCTURE DU SCRIPT
script_226cvmn_226.py
📌 IMPORTS : numpy, matplotlib.pyplot, scipy.integrate.odeint
📌 CLASSE ReactionSimulator : Encapsule la logique du modèle.
📌 MÉTHODES :
__init__() : Configuration des constantes.
lotka_volterra_system() : Définition mathématique des EDO.
run_simulation() : Calcul de l’intégration numérique.
plot_results() : Génération du rendu visuel.
📌 MAIN (Exécution) : Définition des paramètres et appel des méthodes de classe.
🔧 Détail des fonctions principales
Fonction Paramètres Retour Rôle
lotka_volterra_system concentrations, t list Définit les dérivées dX/dt et dY/dt.
run_simulation initial_X, initial_Y, t tuple(array) Calcule les vecteurs d’historique de concentration.
plot_results t, X_hist, Y_hist None Génère et affiche le graphique final.
🔄 LOGIQUE / ALGORITHME
Initialisation : L’utilisateur définit les constantes de réaction (k1,k2,k3) et les conditions de départ.
Discrétisation : Création d’un vecteur temps linéaire (500 points).
Intégration (Algorithme LSODA) :
Appel de odeint qui itère sur le temps.
Calcul de la variation à chaque instant t :
dtdX=k1X−k2XY
dtdY=k2XY−k3Y
Visualisation : Plot des deux séries de données sur le même axe temporel.
🚨 GESTION DES ERREURS
Dépendances manquantes : Le script lèvera une ImportError si scipy ou numpy ne sont pas installés.
Valeurs négatives : Le modèle mathématique peut diverger si les constantes sont mal choisies (pas de gestion d’exception explicite dans le code actuel).
🧪 TESTS ATTENDUS
# Cas de test Entrée Résultat attendu
1 Cas nominal k=[1.0,0.5,1.5] Oscillations stables visibles sur le graphe.
2 Concentration nulle X0=0 X reste à 0, Y décroît exponentiellement vers 0.
3 Stabilité k très petits Courbes quasi-horizontales sur 50 unités de temps.
📝 EXEMPLE D’UTILISATION
▶️ Lancement direct
Bash
python script_226cvmn_226.py
📋 Exemple de sortie console
Plaintext
Modèle initialisé avec : k1=1.0, k2=0.5, k3=1.5
[Affichage d’une fenêtre graphique avec courbes bleue et rouge]



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