script_226cvmn_226.py

49,00 

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.

UGS : script_226cvmn_226.py Catégorie : Étiquette :

🔷 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​=k1​X−k2​XY

dtdY​=k2​XY−k3​Y

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.

Soyez le premier à laisser votre avis sur “script_226cvmn_226.py”

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *