script_243cvmn_243.py

49,00 

Modélisation, simulation et analyse de stabilité du système proies-prédateurs de Lotka-Volterra.

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

🔷 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.

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

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