script_239cvmn_239.py

49,00 

Simuler et visualiser l’évolution des populations proies-prédateurs via le modèle de Lotka-Volterra avec croissance logistique.

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

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script script_239cvmn_239.py

Version 1.0.0

Date de création 02/03/2026

Auteur / Demandeur Gemini (IA Générée)

Objectif principal Simuler et visualiser l’évolution des populations proies-prédateurs via le modèle de Lotka-Volterra avec croissance logistique.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Ce script modélise mathématiquement l’interaction entre deux espèces (ex: lapins et renards). Contrairement au modèle classique, il intègre une capacité de charge (K) qui limite la croissance des proies même en l’absence de prédateurs, rendant la simulation plus réaliste.

📌 Problème résolu

Il permet d’analyser la stabilité d’un écosystème en fonction de variables biologiques (taux de reproduction, efficacité de chasse, mortalité) et de visualiser les points d’équilibre ou les cycles d’extinction possibles.

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.x

OS cible Tous (Windows / Linux / MacOS)

Mode d’exécution CLI / Script autonome

📦 Dépendances / Librairies

numpy : Calculs numériques et gestion des tableaux.

scipy.integrate (odeint) : Résolution d’équations différentielles ordinaires.

matplotlib.pyplot : Génération des graphiques et visualisations.

📥 ENTRÉES (INPUTS)

📂 Paramètres de simulation (via simulate_lotka_volterra_logistic)

# Nom Type Obligatoire Description Exemple

1 params tuple ❌ Non (alpha, beta, delta, gamma, K) (1.0, 0.1, 0.075, 0.5, 50.0)

2 t_max float ❌ Non Durée totale de la simulation 200

3 initial_state list ❌ Non Population initiale [proies, prédateurs] [10, 5]

📤 SORTIES (OUTPUTS)

📂 Visualisations et Données

Graphiques (Matplotlib) :

Évolution temporelle : Courbes de populations x(t) et y(t).

Diagramme de phase : Relation directe entre proies et prédateurs.

Champ de vecteurs : Visualisation des forces de changement (flux) de l’écosystème.

Console : Statistiques détaillées (moyennes, min/max) de chaque population en fin de simulation.

🧱 STRUCTURE DU SCRIPT

script_239cvmn_239.py

├── 📌 IMPORTS (numpy, scipy, matplotlib)

├── 📌 FONCTIONS

│ ├── lotka_volterra_logistic() → Définit le système d’équations différentielles.

│ ├── simulate_lotka_volterra_logistic() → Gère le calcul odeint et le rendu graphique.

│ └── run_simulations() → Scénarios de test (Équilibré, Limité, Instable).

└── 📌 MAIN (Exécute run_simulations)

🔄 LOGIQUE / ALGORITHME

Initialisation : Définition des constantes biologiques et du temps t.

Intégration numérique : Utilisation de la fonction odeint pour résoudre :

dtdx​=αx(1−Kx​)−βxy

dtdy​=δxy−γy

Post-traitement : Calcul des statistiques sur les vecteurs de résultats.

Rendu : Génération d’un dashboard de 3 graphiques synchronisés.

🚨 GESTION DES ERREURS

Cas d’erreur Type d’exception Comportement attendu

Division par zéro RuntimeWarning Géré dans le champ de vecteurs (remplacement de 0 par 1 pour la normalisation).

Paramètres manquants TypeError Utilisation des valeurs par défaut si params est None.

🧪 TESTS ATTENDUS

# Cas de test Entrée Résultat attendu Statut

1 Écosystème équilibré Scénario 1 Stabilisation des courbes ✅ Testé

2 Ressources rares K faible Faible population de prédateurs ✅ Testé

3 Prédation agressive β élevé Fluctuations fortes / Instabilité ✅ Testé

📝 EXEMPLE D’UTILISATION

▶️ Lancement direct

Bash

python script_239cvmn_239.py

📋 Exemple de sortie console attendue

Plaintext

============================================================

STATISTIQUES DE LA SIMULATION

============================================================

Paramètres: α=0.8, β=0.1, δ=0.2, γ=0.4, K=100

Conditions initiales: 40 proies, 9 prédateurs

Population moyenne des proies: 21.45

Population moyenne des prédateurs: 6.22

============================================================

Avis

Il n’y a pas encore d’avis.

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

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