onizuka_lorenz_attractor.py

49,00 

Modéliser et visualiser en 3D la trajectoire chaotique du système d’équations de Lorenz.

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

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script onizuka_lorenz_attractor.py

Version 1.0.0

Date de création 25/03/2026

Auteur / Demandeur Gemini (Basé sur le fichier fourni)

Objectif principal Modéliser et visualiser en 3D la trajectoire chaotique du système d’équations de Lorenz.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Le script résout numériquement un système de trois équations différentielles ordinaires non linéaires. Il calcule l’évolution d’un point dans un espace 3D au fil du temps et génère une figure interactive montrant la célèbre forme en « papillon » de l’attracteur de Lorenz.

📌 Problème résolu

Il permet de visualiser le chaos déterministe, où des conditions initiales simples et des règles fixes produisent un comportement complexe, non périodique et très sensible aux variations (l’effet papillon).

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.x (Recommandé 3.8+)

OS cible Windows / Linux / MacOS

Mode d’exécution CLI / Interface Graphique (Matplotlib)

📦 Dépendances / Librairies

Librairies externes (pip install)

numpy : Gestion des tableaux et calculs numériques.

matplotlib : Génération du graphique 3D.

scipy : Utilisation de odeint pour l’intégration numérique des équations.

📥 ENTRÉES (INPUTS)

⚙️ Paramètres codés en dur (Variables de simulation)

# Nom Type Valeur Description

1 sigma float 10.0 Nombre de Prandtl (proportionnel à la viscosité).

2 rho float 28.0 Nombre de Rayleigh (représente le gradient thermique).

3 beta float 2.666 Rapport géométrique des couches de fluide.

4 initial_state list [1.0, 1.0, 1.0] Coordonnées [x, y, z] de départ.

📤 SORTIES (OUTPUTS)

📂 Fichiers / Données en sortie

Type Format Description

Graphique Fenêtre interactive Une visualisation 3D de la trajectoire (x, y, z).

🧱 STRUCTURE DU SCRIPT

onizuka_4b2943su805vz79v_333.py

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

├── 📌 FONCTIONS

│ └── lorenz_system() → Définit les dérivées dx/dt,dy/dt,dz/dt.

├── 📌 PARAMÈTRES (Définition de σ,ρ,β)

├── 📌 RÉSOLUTION (Appel à odeint)

└── 📌 VISUALISATION (Configuration Axes3D et plt.show())

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

lorenz_system current_state, t, sigma, rho, beta list Calcule les variations instantanées du système.

🔄 LOGIQUE / ALGORITHME

Initialisation : Définition des constantes physiques et du point de départ.

Discrétisation temporelle : Création d’un vecteur temps t de 0 à 50 avec 10 000 points.

Intégration : Utilisation de l’algorithme LSODA (via odeint) pour résoudre :

dtdx​=σ(y−x)

dtdy​=x(ρ−z)−y

dtdz​=xy−βz

Projection : Extraction des vecteurs x,y,z de la solution.

Rendu : Tracé de la ligne dans un espace tridimensionnel.

🧪 TESTS ATTENDUS

# Cas de test Entrée Résultat attendu

1 Cas nominal ρ=28,σ=10,β=8/3 Forme classique en papillon à deux lobes.

2 Stabilité ρ<1 Le point doit converger vers l'origine (0,0,0). 3 Précision 100 000 points Trajectoire plus fluide mais calcul plus long. 📝 EXEMPLE D'UTILISATION ▶️ Lancement direct Bash python onizuka_4b2943su805vz79v_333.py 📋 Sortie console/UI Une fenêtre Matplotlib s'ouvre affichant la trajectoire bleue "RoyalBlue" sur fond blanc sans grille. 💡 NOTE POUR L'UTILISATEUR Le script utilise odeint, une fonction éprouvée mais plus ancienne. Pour des projets modernes, la bibliothèque scipy.integrate.solve_ivp est souvent préférée pour sa flexibilité sur les méthodes d'intégration (comme RK45).

Avis

Il n’y a pas encore d’avis.

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

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