TangenteX.com

Bibliothèque de codes

Cette page liste tous les codes FORTRAN, C/C++, Maple, Scilab et Python décrits et utilisés dans les pages de TangenteX, classés par pages de TangenteX. L'ordre des pages est celui des menus de TangenteX.

Ils sont téléchargeables et utilisables dans les conditions prévues par la licence Creative Commons BY, NC, ND. Vous êtes libres de les réutiliser sans modification à condition d'en mentionner l'origine (TangenteX.com) et l'auteur (Dominique LEFEBVRE) et de ne pas en faire un usage professionnel. Leur bon fonctionnement n'est pas garanti.

Dans le cas particulier des scripts Python, j'ai modifié l'extension des fichiers en la passant de '.py' à '.pyl', afin que vous puissiez les télécharger sans problème. Pensez à remettre l'extension à '.py' après le téléchargement pour pouvoir utiliser correctement les scripts.

Les bases, outils et méthodes

Les bases

Modélisation et simulation en physique

PenduleSimplePython.py : Modélisation d'un pendule simple
PenduleAmortiPython.py : Modélisation d'un pendule amorti
PopulationMalade.py : Modélisation de l'évolution d'une épidémie dans une population

Une introduction à la simulation

ChuteCorpsXY.sce : Simulation de la chute d'un corps
ChuteCorpsZ.sce : Tracé de la courbe z = f(t)

Informatique/Langages

Initiation au FORTRAN 77

EulerFOR.f77 : Résolution d'une EDO par la méthode d'Euler en FORTRAN 77

Initiation au C

Euler.cpp : Résolution d'une EDO par la méthode d'Euler en C

Physique numérique avec Python

BOCourbe1D.py : Tracé d'une courbe y=f(x)
BOCourbe2D.py : Tracé d'une courbe z=f(x,y)
BObisect.py : Calcul du zéro d'une fonction par la méthode de la dichotomie
BOfsolve.py : Calcul du zéro d'une fonction par fsolve()
BORacine2.py : Calcul de la valeur de sqrt(2) par fsolve()
BOIntegrationSinus.py : Calcul de l'intégrale de sin(x)
BOIntegration.py : Calcul de la période d'un pendule simple par la fonction quad()
BODerivationSinus.py : Calcul de la dérivée de la fonction sinus
BODeriveeOpt.py : Application de la dérivée à un calcul d'optimisation
BOAleatoirePi.py : Estimation du nombre Pi par la méthode de Monte-Carlo
BOWalk2D.py : Simulation d'une marche aléatoire 2D
BOsyslin.py : Résolution d'un système d'équations linéaires
BOedo1.py : Résolution d'une EDO de premier ordre
BOedo2.py : Résolution d'un système d'équations différentielles de premier ordre
BOedo3.py : Résolution d'une équation différentielle de deuxième ordre
BOFFT.py : Tracé du spectre d'un signal par l'algorithme de FFT
BOEigen.py : Calcul des valeurs et vecteurs propres d'une matrice

Informatique/Libraires

Utiliser la librairie GNU Scientific Libray

FFTGSL.cpp : Calcul d'une FFT avec la librairie GSL en C

Utiliser la librairie graphique Dislin

RandomWalk2D.cpp : Simulation d'une marche aléatoire 2D

Informatique/Techniques informatiques

Créer et utiliser une DLL en C

LibMatrices.c : Librairie statique de calcul matriciel en C
DllMatricesMain.c : DLL de calcul matriciel en C
DllMatrices.h : Header de la DLL de calcul matriciel en C
DecompositionLULib.c : Programme test de la libraire LU statique
DecompositionLUDll.c : Programme test de la libraire LU dynamique

Générateur de nombres aléatoires

RandomGenerator.cpp : Générateur de nombres aléatoires
calculPi.cpp : Calcul de PI par la méthode de Monte-Carlo

Les threads Python

ThreadPython.py : Simuler une chaine d'acquisition avec des threads Python

GSL et Python dans un programme en C

GSLPythonC.c : Code C de mise en oeuvre de la libraire GSL et Python

Méthodes numériques

La méthode d'Euler

EulerCC.c : Implémentation de la méthode d'Euler en C
TxEDO.py : Package de résolution des EDO par Euler et RK4 en Python
ExempleEuler.py : Résolution d'une EDO par Euler en Python
Desintegration.c : Décroissance radioactive par Euler en C
DesintegrationEuler.py : Décroissance radioactive par Euler en Python
grelon.c : Chute d'un grelon par la méthode d'Euler

La méthode de Runge-Kutta

RoutineRK4.for : Routine RK4 en FORTRAN 77
SysPendule.for : Système différentiel du pendule simple en FORTRAN 77
penduleRK4.for : Simulation du pendule simple avec RK4 en FORTRAN 77
PenduleSimpleRK4.py : Simulation du pendule simple avec RK4 en Python

La méthode des moindres carrés

RegLineaire.cpp : Régression linéaire en C
RegressionLineairePython.py : Régression linéaire en Python
RegLineaire.sce : Régression linéaire en Scilab
RegLin.xlsx : Régression linéaire avec Excel

Les méthodes de dérivation numérique

Derivee.cpp : Calcul de la dérivée par la méthode des différences finies en C

Les méthodes d'intégration numérique

IntFonction.for : Code de la fonction à intégrer
IntRectangles.for : Routine d'intégration par la méthode des rectangles
IntTrapezes.for : Routine d'intégration par la méthode des trapèzes
IntSimpson.for : Routine d'intégration par la méthode de Simpson
IntRomberg.for: Routine d'intégration par la méthode de Romberg
TestIntegration.for : Programme FORTRAN de test des méthodes d'intégration
ExempleSimpson.py : Intégration par la méthode de Simpson en Python
ExempleRomberg.py : Intégration par la méthode de Romberg en Python

Intégration et méthode de Monte-Carlo

MonteCarloMaple.mpl : Intégration par la méthode de Monte-Carlo en Maple
MonteCarloPython.py : Intégration par la méthode de Monte-Carlo en Python

Chercher les zéros d'une fonction

Dichotomie.sce : Méthode de la dichotomie avec Scilab
Newton.sce : Méthode de Newton-Raphson avec Scilab
NewtonRaphson.py : Méthode de Newton-Raphson avec Python

Résoudre un système linéaire

PivotGauss.c : Méthode de résolution par la méthode du pivot de Gauss en C
DecompositionLU.c : Méthode de résolution par la méthode matricielle en C
SystemeLineaire1.sce : Utilisation de la méthode de Scilab

Résoudre une équation différentielle ordinaire

ODEPython1.py : EDO du premier degré sans second membre
ODEPython2.py : EDO du premier degré avec second membre
ODE2Python1.py : EDO du second degré linéaire
ODE2Python2.py : EDO du second degré non linéaire
EDOex.c : EDO du second degré non linéaire avec RK4 en C

EDO et problèmes raides

ProblemeRaidePO.py : Résolution d'une EDO avec les méthodes Euler, RK4 et odeint()
ProblemeRaideSys.py : Résolution d'un système différentiel raide avec les méthodes Euler, RK4 et odeint()

Les méthodes aux différences finies

DFBCTS.py : Résolution de l'équation de la chaleur par le schéma DF BCTS

L'aritmétique en virgule flottante

SuiteMuller.py : Calcul de la suite de Müller

Recherche du maximum d'une fonction f(x,y)

Max2DTrace.py : Tracé d'une fonction z = f(x,y)
RechercheMax2D.py : Recherche du maximum par la méthode du gradient
RechercheMax2DStoch.py : Recherche du maximum par la méthode du gradient stochastique

Les méthodes d'interpolation

InterpolLagrangeDLE.py : Interpolation polynomiale de Lagrange
InterpolLagrange.py : Interpolation polynomiale de Lagrange ave Scipy
RungeLagrange.py : Phénomène de Runge
InterpolNewton.py : Interpolation polynomiale de Newton
Interp1d.py : Interpolation par la méthode Interp1d() de Python
InterpolPiege.py : Les pièges de l'interpolation

Mathématique

Les développements limités

DevLimp.py : Calcul d'un DL avec Python et sympy

Les opérateurs différentiels

OPDGradientChamp.py : Tracé du champ de potentiel crée par un électron
OPDChampElectrique.py : Tracé du champ électrique crée par un électron
OPDChampDivergence.py : Calcul et tracé de la divergence d'un champ de vecteurs
OPDChampRotationnel.py : Calcul et tracé du rotationnel d'un champ de vecteurs
OPDLaplacienScalaireDF.py : Calcul et tracé d'un Laplacien par la méthode des différences finies
OPDLaplacienScalaireDiff.py : Calcul et tracé d'un Laplacien par la fonction diff()

Les équations aux dérivées partielles

EDPPython1.py : Tracé d'une fonction f(x,y) = x^2 + y^2

L'ensemble de Mandelbrot

Mandelbrot.py : Tracé de l'ensemble de Mandelbrot
Mandelbrot1.py : Tracé de l'ensemble de Mandelbrot optimisé
Mandelbrot2.py : Tracé de l'ensemble de Mandelbrot optimisé et lissé

Les lois de distribution de probabilité

TraceUniforme.py : Loi de distribution uniforme
TraceGaussienne.py : Loi de distribution gaussienne
Cauchy.py : Loi de Cauchy
TracePoisson.py : Loi de Poisson
TraceExponentielle.py : Loi exponentielle

Algorithmique

L'algorithme de recuit simulé

PVC.py : Résolution du problème du voyageur de commerce par l'algorithme de recuit simulé

L'algorithme de Metropolis

AlgoMetropolis.py : Algorithme de Metropolis

Eléments de physique

Physique générale

Unités Planck et analyse dimensionnelle

UnitesPlanck.sce : Calcul des unités de Planck

Méthodes physiques

Traiter une série de mesures avec Python

MesuresTension.ino : Sketch Arduino pour la mesure de tension
TMIncertitudeMesures1.py : Histogramme et gaussienne associée de l'échantillon de mesures
TMIncertitudeMesures2.py : Histogramme et gaussienne associée d'un échantillon de mesures de distribution aléatoire
TMIncertitudeMesures3.py : Tracé de la courbe gaussienne centrée réduite

Mécanique

Ponctualité d'une masse et symétrie sphérique

ChampGravitationnel.py : Calcul du champ gravitationnel terrestre

Les oscillateurs

Oscillateurs1.py : Tracé de la trajectoire et de la trajectoire de phase d'un pendule simple linéaire et non linéaire
Oscillateurs2.py : Tracé du portrait de phase d'un pendule simple linéaire
Oscillateurs3.py : Tracé de l'évolution de l'énergie mécanique d'un pendule simple linéaire
Oscillateurs4.py : Tracé de la trajectoire de phase d'un pendule simple amorti
Oscillateurs5.py : Tracé de l'évolution de l'énergie mécanique d'un pendule simple linéaire amorti
TxOscillateurs.py : Module de fonctions descriptives de différents types d'oscillateurs
PenduleChaosPython.py : Modélisation d'un pendule simple, amorti et entretenu
PortraitPhase.py : Tracé du portrait de phase du pendule simple et amorti
ChaosDistance.py : Tracé de la distance entre deux trajectoires chaotiques

Electromagnétisme

Détecter une onde - Le circuit d'accord RLC

CircuitAccord01.py : Oscillateur libre avec choix du coefficient d'amortissement
CircuitAccord02.py : Oscillateur forcé avec un faible coefficient d'amortissement
CircuitAccord03.py : Tracé de la courbe \( u= f( \omega / \omega0) \)

Fonction de transfert et diagramme de Bode

DiagBode.py : Tracé d'un diagramme de Bode

Ondes

Rappel sur les ondes

Ondes.mpl : Propagation d'une onde mécanique
Ondes1.mpl : Somme d'ondes
Ondes2.mpl : Tracé d'un paquet d'ondes de spectre gaussien

Les paquets d'ondes

SchrodingerPaquetOndes.py : Simulation d'un paquet d'ondes en Python
PaquetOndes.for : Simulation d'un paquet d'ondes en FORTRAN

Relativité restreinte

La relativité restreinte

RR1.mpl : Facteur de Lorentz
RR2.mpl : Contraction des longueurs

Physique quantique

La catastrophe ultraviolette

CourbePlanck.mpl : Tracé de la courbe de Planck

Dualité onde-corpuscule

Young.mpl : Franges d'interférences

Physique de l'atmosphère

Réchauffement climatique et hausse du niveau des mers

HausseNiveauMers_Calcul.py : Calcul de la hausse du niveau marin en fonction de la température.
HausseNiveauMers_Courbes.py : Tracé des courbes d'interpolation.

CO2 et effet de serre

EdS_Calculs.py : Calcul des quelques caractéristiques du système thermique Terre-Soleil
EdS_Planck.py : Calcul des courbes de Planck pour le Soleil et la Terre
EdS_Temp.py : Tracé de la température au sol en fonction de l'absorbance de l'atmosphère
EdS_CO2.py : Calcul des valeurs numériques des pulsations et longueurs d'onde propres de la molécule de CO2

Astrophysique

Le fond diffus cosmologique

CalculsPlanck.py : Calcul du spectre à 2,7 K

Expériences numériques

Expériences/Mécanique

Le modèle de la corde de violon

CordeArchet.py : Simulation du modèle corde - archet

Analyse de l'orbite d'une comète ou d'un satellite

Comete.cpp : Tracé de l'orbite d'une comète

Le pendule de Foucault

PenduleFoucault.sce : Trajectoire du pendule de Foucault Scilab
PenduleFoucault.cpp : Trajectoire du pendule de Foucault en C

Etude d'un sismographe

Sismographe.py : Simulation du sismomètre
SismoPulsationReduite.py : Tracé de la pulsation réduite du sismomètre

L'oscillateur de Van der Pol

VDPPendule01.py : Tracé de la trajectoire de phase d'un pendule simple
VDPPendule02.py : Tracé du portrait de phase d'un pendule simple
VDPPendule03.py : Tracé de la trajectoire de phase d'un pendule simple amorti
VDPEquation1.py : Tracé de la trajectoire de phase de l'oscillateur de Van der Pol

Le problème à trois corps

TroisCorps.py : Trajectoire du problème à trois corps

Expériences/Electromagnétisme

L'équation de Laplace

LaplaceJacobi.py : Résolution de l'équation de Laplace en utilisant la méthode de Jacobi
LaplaceJacobiNumpy.py : Résolution de l'équation de Laplace - Méthode de Jacobi avec vectorisation des boucles
LaplaceGaussSeidel.py : Résolution de l'équation de Laplace - Méthode de Gauss-Seidel avec vectorisation des boucles
LaplaceCondensateur2D.py : Calcul du champ de potentiel d'un condensateur plan

L'équation de Poisson

Poissons2D.py : Résolution de l'équation de Poisson - Méthode de Gauss-Seidel

Excitation d'un dipôle RC par un signal rectangulaire

RCCreneaux.cpp : Réponse d'un dipôle RC à un créneaux en C
RCCreneaux2.mpl : Réponse d'un dipôle RC à un créneaux en en Maple

Le dipôle RLC

RLCSerie.sce : Modélisation du dipôle RLC en Scilab
RLCEnergie.sce : Etude de l'évolution de l'énergie dans un dipôle RLC

L'expérience Millikan

Millikan.py : Simulation de l'expérience de Millikan

Propagation du champ électromagnétique

OEMPropagation_V.py : Simulation de la propagation du champ électromagnétique

Aimantation et modèle d'Ising

AimantationIsing.py : Evolution d'un réseau de spins vers l'équilibre thermique
AimantationIsing_1.py : Transition de phase à la température de Curie d'un réseau de spins

L'équation des télégraphistes

Telegraphiste0.py : Solution de l'équation des télégraphistes pour une ligne sans perte - Méthode des différences finies
Telegraphiste1.py : Solution de l'équation des télégraphistes pour une ligne sans perte - Méthode matricielle
Telegraphiste2.py : Solution de l'équation des télégraphistes pour une ligne avec pertes

Expériences/Optique

L'équation de D'Alembert

OEMAlembert.py : Résolution de l'équation de D'Alembert sur un domaine borné
OEMAlembertA.py : Résolution de l'équation de D'Alembert avec une animation

Diffraction par une fente rectangulaire

diffraction1.sce : Simulation de la diffraction en Scilab
DiffractionMaple.mpl : Simulation de la diffraction en Maple

Expériences/Traitement du signal

Construire et analyser un signal avec Fourier

SyntheseFourier.mpl : Construire un signal rectangulaire par synthèse de Fourier
AnalyseFourier.mpl : Analyse d'un signal par Fourier

La transformée de Fourier rapide (FFT)

FFT.for : Algorithme de FFT en FORTRAN
TestFFT.for : Calcul du spectre d'un signal périodique par FFT en FORTRAN

La transformée de Fourier discrète

FFTExperience1-0.py : FFT de la somme de deux ondes
FFTExperience2-0.py : FFT d'un signal composé bruité en amplitude
FFTExperience2-1.py : FFT d'un signal composé bruité en fréquence
FFTExperience3-0.py : FFT d'un signal réel
TFDCalculBrut.py : Calcul de la TFD par la méthode "brute"
TFDCalculBrutVectorise.py : Calcul de la TFD par la méthode "brute" vectorisée
TFDCalculFFT.py : Calcul de la TFD avec une FFT
TFDCalculFFTShift.py : Calcul de la TFD avec une FFT shiftée
TFDSpectreSignalReel.py : Calcul du spectre par TFD d'un signal réel
TFDSpectreSignalReelFenetre.py: Calcul du spectre par TFD d'un signal réel fenêtré
TFDSpectreHann.py : Calcul du spectre par TFD d'un signal réel avec fenetre de Hann

Analyse spectrale

AnalSpectrale01.py : Calcul des spectres des signaux calculés
AnalSpectrale02.py : Calcul du spectre d'un signal réel
AnalSpectrale03.py : Spectre avec repliement
AnalSpectrale04.py : Fenêtrage de Hann

Le traitement d'images

TIProg1.py : Programme d'ouverture et d'affichage d'une image avec la librairie PIL
TIProg2.py : Le même en utilisant Scipy et MatPlotLib
TIProgNegatif.py : Négatif d'une photo couleur
TIProgSymetrie.py : Symétrie miroir d'une photo couleur
TIProgRotate.py : Rotation de PI/2 sens trigo avec redimensionnement de l'image
TIProgFusion.py : Fusion de deux images
TIProgNiveauGris.py : Programme de transformation d'une image couleurs en niveaux de gris
TIProgNiveauGrisSpeed.py : Programme de transformation d'une image couleurs en niveaux de gris avec la méthode load()
TIProgFiltre1.py : Filtre coloré
TIProgFiltreConvolution.py : Filtrage par convolution avec une matrice 3x3
TIExtractionContours.py: Programme d'extraction des contours d'une image couleur

Expériences/Physique quantique

L'expérience de Rutherford

Rutherford.cpp : Simulation du modèle de Rutherford
Rutherford2.cpp : Simulation de l'expérience de Rutherford

Simuler l'effet tunnel

EffetTunnel.mpl : Simulation de l'effet tunnel

Décroissance radioactive

Radioactivite1.sce : Expérimentation de la décroissance radioactive
Radioactivite2.sce : Simulation de la décroissance radioactive

Résoudre l'équation de Schrödinger

SchrodingerPaquetOndes.py : Etude du paquet d'ondes gaussien
SchrodingerFDTD_1D.py : Résolution de Schrödinger 1D pour un électron libre
SchrodingerFDTD_1DU.py : Résolution de Schrödinger 1D pour un électron dans une fonction potentiel (marche et barrière)

La radioactivité alpha

RadioAlpha.py : Simulation de la radioactivité alpha

Expériences/Physique statistique

L'équation de la chaleur

ECPython1.py : Résolution de l'équation de la chaleur en utilisant le schéma FTCS
ECPython2.py : Résolution de l'équation de la chaleur en utilisant un système différentiel d'EDO
ECPython3.py : Résolution de l'équation de la chaleur en utilisant le schéma de Crank-Nicolson

Le mouvement brownien

MouvBrownien1D.sce : Simulation du mouvement brownien 1D
MouvBrownien2D.sce : Simulation du mouvement brownien 2D

La diffusion des particules

Diffusion.cpp : Simulation de la diffusion

La percolation

SeuilPercolation.py : Calcul de percolation sur un mélange isolants/conducteurs
PercolationConducteur.py : Détermination du seuil de percolation sur un réseau carré

Dynamique d'un tas de sable

TasSableSimu.py : Modèle BTW de simulation de la dynamique d'un tas de sable
TasSableAnalyse.py : Analyse des données de simulation du modèle BTW

Expériences/Systèmes dynamiques

Simulation du comportement chaotique d'une boussole

Boussole.cpp : Simulation du comportement d'une boussole dans deux champs magnétiques

Les attracteurs de Lorenz et de Rössler

ChaosLorenz.cpp : Attracteur de Lorenz
Rossler.cpp : Attracteur de Rossler

Le modèle de Lotka-Volterra

LotkaVolterra-1.sce : Modèle de Lotka-Volterra en SciLab - Evolution
LotkaVolterra-2.sce : Modèle de Lotka-Volterra en SciLab - Orbites
LotkaVolterra1.py : Modèle de Lotka-Volterra Python - Evolution
LotkaVolterra2.py : Modèle de Lotka-Volterra Python - Orbites

Expériences/Automates cellulaires

Les automates cellulaires

GameLife.py : Simulation du jeu de la vie de Conway

Modélisation de la propagation d'une épidémie par automate cellulaire

ACPropagationEpidemie.py : Automate cellulaire de propagation d'une épidémie

Expériences/Le coin Arduino

Etude expérimentale de la décharge d'une pile

DechargePile.ino : Sketch Arduino de mesure de la tension d'une pile
TracePile.py : Tracé de la courbe de décharge

Contenu et design par Dominique Lefebvre - www.tangenteX.com février 2020    Licence Creative Commons    Contact :