script_284cvmn_284.py

49,00 

Modéliser et visualiser en 3D l’attracteur de Lorenz pour illustrer le chaos déterministe.

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

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script script_284cvmn_284.py

Version 1.0.0

Date de création 07/03/2026

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

Objectif principal Modéliser et visualiser en 3D l’attracteur de Lorenz pour illustrer le chaos déterministe.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Ce script utilise une approche orientée objet pour résoudre numériquement les équations différentielles de Lorenz. Il génère une trajectoire dans un espace tridimensionnel à partir de conditions initiales et produit une visualisation graphique de la structure chaotique « en papillon » caractéristique.

📌 Problème résolu

Il permet d’étudier la sensibilité aux conditions initiales et le comportement des systèmes dynamiques complexes sans nécessiter de résolution analytique (impossible pour ce système).

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.8+

OS cible Tous (Windows / Linux / MacOS)

Mode d’exécution Script autonome (CLI)

📦 Dépendances / Librairies

Librairies externes (pip install)

numpy: Calcul numérique et gestion des tableaux.

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

scipy: Intégration numérique des équations différentielles (odeint).

📥 ENTRÉES (INPUTS)

📂 Paramètres de classe (Initialisation)

# Nom Type Obligatoire Description Exemple

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

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

3 beta float ❌ Non Rapport de géométrie 2.666

📂 Arguments de simulation

Type Paramètre Description

Liste initial_state Coordonnées de départ [x,y,z]

Entier duration Temps total de simulation

Entier num_points Résolution de la trajectoire

📤 SORTIES (OUTPUTS)

📂 Données & Visualisation

# Nom Type Description

1 trajectory ndarray Matrice des positions (N×3) calculées.

2 Graphique 3D Plot Fenêtre interactive affichant l’attracteur.

🧱 STRUCTURE DU SCRIPT

script_284cvmn_284.py

📌 IMPORTS (Numpy, Matplotlib, Scipy)

📌 CLASSE LorenzSimulator

__init__ : Configuration des paramètres physiques.

derivatives : Implémentation du système d’équations.

run_simulation : Résolveur ODE.

plot_3d : Moteur de rendu graphique.

📌 MAIN (Exécution) : Instanciation, calcul et affichage.

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

derivatives(state, t) list, float list Calcule les dérivées [dx/dt,dy/dt,dzdt].

run_simulation(…) list, int, int ndarray Intègre les équations sur l’intervalle T.

plot_3d() Aucun None Génère la figure Matplotlib.

🔄 LOGIQUE / ALGORITHME

Initialisation : Définition des constantes physiques (σ,ρ,β).

Discrétisation : Création d’un vecteur temporel linéaire.

Intégration : Utilisation de odeint (méthode de type LSODA) pour calculer chaque point suivant en fonction de la pente actuelle.

Rendu : Projection des points X,Y,Z dans un repère cartésien 3D.

🚨 GESTION DES ERREURS

Divergence : Si les paramètres sont extrêmes, les valeurs peuvent tendre vers l’infini (non géré explicitement, dépend de scipy).

Matplotlib : Nécessite un environnement graphique (Backend) pour afficher la fenêtre.

🧪 TESTS ATTENDUS

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

1 Cas nominal [1, 1, 1] Forme « Papillon » classique ⬜ À tester

2 Point d’équilibre [0, 0, 0] Trajectoire nulle (statique) ⬜ À tester

3 Haute précision num_points=100000 Courbe lisse, calcul plus long ⬜ À tester

📊 PERFORMANCES ATTENDUES

Temps d’exécution : <1 seconde pour 4000 points. Consommation mémoire : Très faible (<50 Mo). 📝 EXEMPLE D'UTILISATION ▶️ Lancement Bash python script_284cvmn_284.py 💻 Utilisation modulaire Python sim = LorenzSimulator(rho=15.0) # Régime non chaotique sim.run_simulation([0.1, 0.0, 0.0], 50, 5000) sim.plot_3d()

Avis

Il n’y a pas encore d’avis.

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

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