• Aide
  • Eurêkoi Eurêkoi

Livre

Python pour la physique : calcul, graphisme, simulation

Résumé

250 exercices guidés pour apprendre le langage de programmation Python dans le domaine de la physique afin de produire des courbes de qualité, des graphes interactifs ou encore des animations.


  • Éditeur(s)
  • Date
    • DL 2020
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (317 p.) : ill. en coul., graph. ; 24 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-8073-2890-7
  • Indice
  • Quatrième de couverture
    • Phyton pour la physique

      Calcul, graphisme, simulation

      Apprendre les bases de Python pour faire du calcul scientifique, des simulations numériques, produire des courbes de qualité, des graphes interactifs, des animations, voilà ce que propose cet ouvrage.

      En 250 programmes courts, il s'appuie sur des exemples empruntés à la physique de première année de licence scientifique : l'optique géométrique et la mécanique du point. Sur ce premier thème, il montre comment tracer des rayons lumineux de façon rapide et obtenir des graphes interactifs qui peuvent être utilisés aussi bien pour enseigner que pour mieux comprendre la matière. En ce qui concerne le second thème, il aborde des problèmes rarement traités dans des cours d'introduction à la mécanique (chaos, problème à N corps) parce qu'ils conduisent à des équations non solubles analytiquement. Chaque chapitre se termine par des mini-projets corrigés.


  • Tables des matières
      • Python pour la Physique

      • Calcul, graphisme, simulation

      • Richard Taillet

      • deboeck supérieur

      • Table des matières1
      • 1 Introduction11
      • 1 Python11
      • 2 Aborder la physique autrement11
      • 3 Plan de l'ouvrage13
      • 4 Règles d'or14
      • 5 Remerciements14
      • 6 Télécharger les programmes14
      • I Python15
      • 2 Fonctions de base17
      • 1 Démarrer et quitter17
      • 2 Calculette en mode interactif18
      • 3 Fonctions et paramètres19
      • 4 Bibliothèques19
      • 5 Écriture de programmes22
      • 6 Variables23
      • 7 Afficher29
      • 8 Erreurs33
      • 9 Précision34
      • 10 Tuples35
      • 11 Conditions if - else37
      • 12 Boucles while et for41
      • 13 Fonctions définies par l'utilisateur46
      • 13.1 Définir une fonction46
      • 13.2 Valeur par défaut des paramètres46
      • 13.3 Une fonction peut renvoyer plusieurs valeurs, ou aucune47
      • 13.4 Portée des variables : locale ou globale48
      • 14 Commentaires50
      • 15 IPython51
      • 3 Unités53
      • 1 Dimensions physiques53
      • 2 Unités de mesure53
      • 3 Constantes et unités54
      • 4 Modules dédiés57
      • 4.1 Les constantes physiques dans scipy57
      • 4.2 Le module astropy59
      • 4.3 Les valeurs du CODATA61
      • 4.4 Analyse dimensionnelle62
      • 4 Listes et tableaux65
      • 1 Listes65
      • 2 Méthodes et fonctions66
      • 3 La fonction enumerate ()67
      • 4 Listes en compréhension68
      • 5 Listes de listes69
      • 6 La bibliothèque numpy69
      • 6.1 Tableaux numpy69
      • 6.2 Les commandes arange () et linspace ()71
      • 6.3 Les fonctions mathématiues de numpy72
      • 7 Aparté technique72
      • 7.1 Affectation des variables72
      • 7.2 Copier une variable74
      • 7.3 Modifier une variable dans une fonction75
      • 8 Résumé de fonctions et méthodes utiles pour les listes76
      • 5 Représentation de données77
      • 1 Tracé des points78
      • 1.1 La fonction scatter de matplotlib78
      • 1.2 Sauvegarder la figure80
      • 1.3 Aspect des symboles80
      • 1.4 Barres d'erreur81
      • 1.5 Ajouter des titres, des légendes et du texte83
      • 1.6 Gestion des axes86
      • 1.7 Point de vocabulaire : figure et graphes88
      • 1.8 Afficher une grille de coordonnées89
      • 1.9 Enlever le cadre et positionner les axes : spines90
      • 1.10 Échelle logarithmique92
      • 2 Représentation graphique de fonctions94
      • 2.1 La fonction plot ()95
      • 2.2 Les attributs de la ligne96
      • 2.3 Centrer les axes98
      • 3 Tracer plusieurs courbes99
      • 3.1 Sur le même graphe99
      • 3.2 Sur des graphes différents dans une même figure100
      • 3.3 Sur des figures différentes101
      • 4 Réglage fin des figures et des graphes102
      • 5 Histogrammes104
      • 5.1 Tracer des histogrammes104
      • 5.2 Les fonctions statistiques107
      • 6 La notion de backend108
      • 7 Les styles de matplotlib109
      • 8 Résumé des commandes utiles112
      • 9 Mini-projets113
      • 6 Dessin115
      • 1 Tracer des segments115
      • 2 Unités116
      • 3 Formes géométriques117
      • 4 Les couleurs120
      • 5 Les lignes, objets de type Line2D120
      • 6 Notion nouvelle : externalisation de fonctions122
      • 7 Mini-projets123
      • II Optique géométrique125
      • 7 Réfraction127
      • 1 Théorie127
      • 2 Illustration en python127
      • 2.1 Rappel de géométrie127
      • 2.2 Tracé des rayons lumineux128
      • 2.3 Exemples de mauvaises pratiques129
      • 2.4 Ajout des rapporteurs130
      • 3 Figures interactives : gestion des événements131
      • 4 Mini-projets136
      • 8 Le prisme137
      • 1 Théorie137
      • 2 Programmation138
      • 3 Déviation minimale142
      • 4 Courbe de déviation et minimum de déviation144
      • 4.1 Courbe de déviation144
      • 4.2 Détermination du minimum d'une fonction145
      • 5 Mini-projets146
      • 9 Sphère réfractante147
      • 1 Présentation147
      • 2 L'ordre zéro147
      • 3 L'ordre 1 : arc primaire de l'arc-en-ciel149
      • 4 L'ordre 2 : arc secondaire de l'arc-en-ciel151
      • 5 L'ordre N153
      • 6 Curseurs et boutons interactifs : les widgets154
      • 6.1 Slider : exemple minimal154
      • 6.2 Application à la sphère réfractante156
      • 6.3 Button : exemple minimal157
      • 6.4 RadioButtons et CheckButtons : exemples minimaux159
      • 6.5 Application à la sphère réfractante160
      • 7 Programmer en mode tortue162
      • 8 Mini-projet : les couleurs de l'arc-en-ciel165
      • 10 Miroirs et dioptres167
      • 1 Miroir sphérique167
      • 2 Dioptres sphériques169
      • 2.1 Faisceau incident parallèle169
      • 2.2 Source à distance finie171
      • 2.3 Points de Weierstrass172
      • 2.4 Obtention d'une lentille173
      • 3 Dioptre elliptique174
      • 4 Dioptre de profil quelconque177
      • 4.1 Détermination et dessin des rayons réfractés177
      • 4.2 Calcul numérique d'une dérivée179
      • 4.3 Calcul numérique de a dérivée par scipy181
      • 4.4 Application au dioptre de forme quelconque182
      • 4.5 Réfraction par des vagues182
      • 5 Caustiques : nappes tangentielles184
      • 5.1 Théorie184
      • 5.2 Exemple : réflexion sur un miroir sphérique concave185
      • 6 Mini-projets186
      • 6.1 Mini-projet 1 : caustique du miroir sphérique convexe186
      • 6.2 Mini-projet 2 : caustique du dioptre plan187
      • 6.3 Mini-projet 3 : réflexions multiples sur un miroir concave187
      • 11 Stigmatisme189
      • 1 Stigmatisme approché, conditions de Gaus189
      • 2 Images dans les conditions de Gauss192
      • 3 Aberrations du miroir sphérique195
      • 3.1 Cartes de densité : histogrammes bidimensionnels198
      • 3.2 Cercle de moindre confusion201
      • 4 Mini-projets : étude d'une lentille plan-convexe203
      • 12 Lentilles205
      • 1 Théorie205
      • 2 Application à une lentille206
      • 3 Définir de nouvelles classes d'objets207
      • 4 Position de l'image213
      • 5 Mini-projets216
      • III Mécanique du point217
      • 13 Chute avec frottement219
      • 1 Relation fondamentale de la dynamique219
      • 2 Force de traînée219
      • 3 Chute dans l'air avec frottements220
      • 4 Résolution numérique : première approche222
      • 4.1 Utilisation de développements limités223
      • 4.2 Raffinement numérique225
      • 5 Utilisation de scipy, integrate227
      • 5.1 Équation différentielle du premier ordre228
      • 5.2 Équation différentielle du scond ordre230
      • 5.3 Détecter des annulations232
      • 5.4 Solution dense232
      • 6 Application au problème de chute233
      • 7 Portée d'un lanceur de projectile236
      • 8 Mini-projets238
      • 14 Oscillateurs239
      • 1 Oscillateur harmonique239
      • 1.1 Définition239
      • 1.2 Équation différentielle du second ordre239
      • 1.3 Conservation de l'énergie mécanique241
      • 2 Pendule simple242
      • 2.1 Période du pendule243
      • 2.2 Animation des figures249
      • 15 Chaos253
      • 1 Pendule amorti et forcé253
      • 2 Résolution numérique253
      • 2.1 Mouvement253
      • 2.2 Doublement de période255
      • 2.3 Portrait de phase256
      • 2.4 Diagramme de bifurcation258
      • 3 Données persistantes260
      • 3.1 Lecture/écriture dans un fichier261
      • 3.2 Le module json262
      • 3.3 Application au diagramme de bifurcation263
      • 3.4 Le module pickle264
      • 16 Forces centrales265
      • 1 Résolution numérique en coordonnées cartésiennes265
      • 1.1 Force en rn et oscillateur harmonique bidimensionnel265
      • 1.2 Force gravitationnel267
      • 2 Coordonnées polaires270
      • 3 Loi des aires272
      • 4 Mini-projets274
      • 17 Chute dans un référentiel tournant275
      • 1 Déviation vers l'est275
      • 2 Déviation vers le sud279
      • 3 Calcul symbolique avec SymPy281
      • 3.1 Développements limités281
      • 3.2 Rendu LaTeX281
      • 3.3 Dérivées283
      • 3.4 Primitives283
      • 4 Mini-projets : approfondissement285
      • 4.1 Mini-projet 1 : force gravitationnelle plus réaliste285
      • 4.2 Mini-projet 2 : porise en compte des frottements286
      • 18 Points de Lagrange287
      • 1 Théorie287
      • 2 Dessiner une surface289
      • 3 Dessiner des contours 3D292
      • 4 Dessiner des contours plans293
      • 5 Position des points de Lagrange295
      • 5.1 Définition des points de Lagrange295
      • 5.2 Résolution d'équation par fsolve() t roots()296
      • 5.3 Retour aux points de Lagrange297
      • 6 Stabilité du mouvement au voisinage des points de Lagrange299
      • 7 Mini-projet : La bibliothèque PyQtGraph301
      • 19 Problème à N corps303
      • 1 Problème à 3 corps303
      • 1.1 Résolution sans subtilité303
      • 1.2 Conservation de l'énergie mécanique305
      • 2 Réécriture et généralisation au problème à N corps306
      • 2.1 Réécriture306
      • 2.2 Solutions chorégraphiques308
      • 2.3 Mesure de temps d'exécution d'un programme308
      • 2.4 Génération de nombres pseudo-aléatoires309
      • 2.5 Augmentation du nombre N de corps310
      • 3 Mini-projets : animation311
      • 20 Conclusion313
      • 21 Documentation officielle314
      • Index315

  • Origine de la notice:
    • Electre
  • Disponible - 681.234(07) TAI

    Niveau 3 - Informatique