lorenz_simulator.py

49,00 

Simuler et visualiser l’attracteur de Lorenz pour illustrer le comportement chaotique des systèmes dynamiques.

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

Gemini

Simulation et Visualisation de l’Attracteur de Lorenz

Nouvelle discussion

Mes contenus

Gems

Discussions

Liste de Courses et Récapitulatif Commande

Discussion épinglée

Analyse et Liste de Courses Surgelées

Discussion épinglée

Shooting Photos : Légendes et Options

Discussion épinglée

LinkedIn Content Strategy For Fashion

Discussion épinglée

le nom du magazine : JEREMY LOuis

Discussion épinglée

Créer une surcouche IA pour le développement

Discussion épinglée

Python Bot Project Structure Analysis

Discussion épinglée

Stratégie d’abonnement pour produits numériques

Discussion épinglée

donne moi une liste de 50 projet d’application web en html css et javascript

Discussion épinglée

Thème Salon de Mariage Prestige

Discussion épinglée

Une Rencontre Flirteuse et Directe

Discussion épinglée

Stratégie Roman HTML et Produits Numériques

Discussion épinglée

Le Pacte de l’Historien et de l’Héritière

Discussion épinglée

Saint-Denis, La Réunion D’après vos adresses (domicile) Mettre à jour la position

Conversation avec Gemini

Vous avez dit

fait ta tache

AGENTFiche-Descriptive_Script_Python

Gem personnalisé

Requête réussie

AGENTFiche-Descriptive_Script_Python a dit

Voici la fiche descriptive détaillée de votre script Python, structurée selon le template fourni.

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script lorenz_simulator.py

Version 1.0.0

Date de création 07/03/2026

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

Objectif principal Simuler et visualiser l’attracteur de Lorenz pour illustrer le comportement chaotique des systèmes dynamiques.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Ce script implémente une classe de simulation numérique pour les équations de Lorenz. Il résout un système de trois équations différentielles ordinaires (ODE) non linéaires et génère une trajectoire dans un espace 3D, souvent appelée « l’effet papillon » en raison de la forme de son attracteur.

📌 Problème résolu

Il permet de modéliser mathématiquement la convection atmosphérique simplifiée et de visualiser comment de petites variations des conditions initiales peuvent mener à des trajectoires divergentes (chaos), tout en restant confinées dans une structure géométrique spécifique (l’attracteur).

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.8+

OS cible Tous (Windows / Linux / MacOS)

Mode d’exécution Script autonome / Programmation Orientée Objet (POO)

📦 Dépendances / Librairies

# Librairies externes (pip install)

numpy (Calcul matriciel)

matplotlib (Visualisation 3D)

scipy (Intégration numérique odeint)

📥 ENTRÉES (INPUTS)

📂 Paramètres de la classe LorenzSimulator

# Nom Type Obligatoire Description Exemple

1 sigma float ❌ Non Nombre de Prandtl (convection) 10.0

2 rho float ❌ Non Nombre de Rayleigh (gradient thermique) 28.0

3 beta float ❌ Non Rapport géométrique 2.666

📤 SORTIES (OUTPUTS)

📂 Fichiers / Données en sortie

Type Chemin / Format Description

Graphique Fenêtre interactive Matplotlib Visualisation 3D avec dégradé de couleur temporel (Magma).

Données numpy.ndarray Tableau des positions (x,y,z) généré par run_simulation().

🧱 STRUCTURE DU SCRIPT

script_289cvmn_289.py

├── 📌 IMPORTS (numpy, plt, odeint, Axes3D)

├── 📌 CLASSE LorenzSimulator

│ ├── __init__ → Initialisation des paramètres et de l’état initial

│ ├── _equations → Définition du système différentiel

│ ├── run_simulation → Calcul de la trajectoire via Scipy

│ └── plot_results → Rendu graphique 3D

└── 📌 EXECUTION (Instanciation, Run, Plot)

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

_equations(state, t, …) state, t, params list Définit dtdx​,dtdy​,dtdz​

run_simulation(dur, steps) int, int ndarray Intègre les équations sur un temps donné

plot_results() Aucun None Affiche l’attracteur en 3D

🔄 LOGIQUE / ALGORITHME

Étape 1 : Initialisation du vecteur d’état S0​=[1,1,1].

Étape 2 : Définition du pas de temps t via un vecteur linéaire (linspace).

Étape 3 : Résolution numérique par l’algorithme d’intégration (LSODA via odeint).

Étape 4 : Extraction des coordonnées x,y,z.

Étape 5 : Tracé par segments de 12 points avec application d’un dégradé de couleur magma pour illustrer l’évolution temporelle.

🚨 GESTION DES ERREURS

Instabilité numérique : Si rho est trop élevé, l’intégration peut diverger (non géré explicitement, repose sur la robustesse de odeint).

Dépendances manquantes : Le script s’arrête avec un ImportError si scipy ou matplotlib n’est pas installé.

🧪 TESTS ATTENDUS

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

1 Cas nominal rho=28.0 Attracteur « papillon » classique ✅ OK

2 Point fixe rho=0.5 Convergence vers l’origine ⬜ À tester

3 Durée nulle duration=0 Erreur ou tableau vide ⬜ À tester

📝 EXEMPLE D’UTILISATION

💻 Appel en tant que module

Python

from script_289cvmn_289 import LorenzSimulator

# Instanciation personnalisée

sim = LorenzSimulator(sigma=10, rho=28, beta=8/3)

# Calcul

points = sim.run_simulation(duration=100, num_steps=20000)

# Visualisation

sim.plot_results()

Avis

Il n’y a pas encore d’avis.

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

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