🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script script_243cvmn_243.py
Version 1.0.0
Date de création 02/03/2026
Auteur Gemini (Généré à partir du code source fourni)
Objectif principal Modélisation, simulation et analyse de stabilité du système proies-prédateurs de Lotka-Volterra.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Ce script simule l’interaction biologique entre deux espèces (proies et prédateurs) à l’aide d’équations différentielles. Il ne se contente pas de tracer des courbes : il effectue une analyse fréquentielle (FFT) pour mesurer la cyclicité des populations, compare plusieurs scénarios de paramètres et génère un portrait de phase complet incluant le champ de vecteurs et les isoclines.
📌 Problème résolu
Il permet d’étudier l’impact des paramètres biologiques (taux de reproduction, efficacité de prédation) sur la stabilité d’un écosystème et de vérifier la cohérence entre les mesures numériques et les prédictions théoriques (période d’oscillation).
⚙️ SPÉCIFICATIONS TECHNIQUES
🐍 Environnement
Élément Valeur
Version Python 3.9+ (nécessite les dataclasses et le typage avancé)
OS cible Tous (Windows / Linux / MacOS)
Mode d’exécution CLI / Recherche & Développement
📦 Dépendances / Librairies
numpy : Calculs matriciels et gestion des signaux.
scipy : Intégration numérique (odeint), traitement du signal (fft, find_peaks).
matplotlib : Visualisation avancée et mise en page via gridspec.
📥 ENTRÉES (INPUTS)
📂 Paramètres internes (Variables de configuration)
# Nom Type Obligatoire Description
1 alpha float ✅ Taux de croissance des proies.
2 beta float ✅ Taux de prédation.
3 gamma float ✅ Taux de mortalité des prédateurs.
4 delta float ✅ Taux de reproduction des prédateurs.
5 Z0 list ✅ Conditions initiales [proies_0, pred_0].
📤 SORTIES (OUTPUTS)
📂 Fichiers / Données en sortie
Type Chemin / Format Description
Image lotka_volterra_full.png Dashboard complet regroupant 6 graphiques d’analyse.
Console Logs texte Détails de l’analyse spectrale, des métriques et des valeurs propres.
🧱 STRUCTURE DU SCRIPT
Plaintext
script_243cvmn_243.py
│
├── 📌 STRUCTURES (Dataclass LVParameters)
├── 📌 MODÈLE & SOLVEUR (lotka_volterra_model, solve_lv)
├── 📌 FONCTIONNALITÉ 1 (analyze_spectrum) -> FFT & Périodicité
├── 📌 FONCTIONNALITÉ 2 (run_multi_scenario) -> Comparaison de paramètres
├── 📌 FONCTIONNALITÉ 3 (compute_phase_portrait) -> Vecteurs & Isoclines
├── 📌 VISUALISATION (plot_full_analysis) -> Dashboard Matplotlib
└── 📌 MAIN (Point d’entrée principal)
🔧 Détail des fonctions principales
Fonction Paramètres Retour Rôle
analyze_spectrum signal, t, params dict Calcule la période réelle via FFT et la compare à la théorie.
compute_phase_portrait params, x_range, y_range tuple Génère la grille de vecteurs normalisés pour le portrait de phase.
run_multi_scenario scenarios, Z0_list, t list Simule en parallèle différentes configurations biologiques.
🔄 LOGIQUE / ALGORITHME
Initialisation : Définition des constantes biologiques via la classe LVParameters.
Résolution : Appel à odeint pour résoudre le système d’équations différentielles ordinaires (EDO).
Analyse de données :
Soustraction de la moyenne et fenêtrage de Hann pour la FFT.
Calcul du Jacobien au point d’équilibre pour confirmer la stabilité (Centre).
Synthèse : Agrégation des résultats dans un dashboard multi-axes.
🚨 GESTION DES ERREURS
Dérive numérique : Un masque booléen (negative_mask) force à 0.0 toute population qui deviendrait négative suite à une imprécision du solveur.
Division par zéro : Lors de la normalisation du champ de vecteurs, une sécurité remplace les normes nulles par 1.0.
🧪 TESTS ATTENDUS
Vérification de l’équilibre : Si Z0 = equilibrium, les populations doivent rester constantes.
Précision FFT : L’erreur relative entre la période mesurée et la période théorique (ϵ) doit être minimale (généralement < 5%).
📝 EXEMPLE D’UTILISATION
▶️ Lancement en ligne de commande
Bash
python script_243cvmn_243.py
📋 Exemple de sortie console
Plaintext
── [F1] Analyse Spectrale ───────────────────────────────
Fréquence dominante : f₀ = 0.0812
Période mesurée : T = 12.316 u.t.
Période théorique : T = 12.247 u.t.
Erreur relative : ε = 0.56%



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