Skip to content
GitLab
Explorer
Connexion
S'inscrire
Navigation principale
Rechercher ou aller à…
Projet
T
TP_LPHYS1303
Gestion
Activité
Membres
Labels
Programmation
Tickets
Tableaux des tickets
Jalons
Wiki
Code
Requêtes de fusion
Dépôt
Branches
Validations
Étiquettes
Graphe du dépôt
Comparer les révisions
Extraits de code
Compilation
Pipelines
Jobs
Planifications de pipeline
Artéfacts
Déploiement
Releases
Registre de conteneur
Registre de modèles
Opération
Environnements
Surveillance
Incidents
Analyse
Données d'analyse des chaînes de valeur
Analyse des contributeurs
Données d'analyse CI/CD
Données d'analyse du dépôt
Expériences du modèle
Aide
Aide
Support
Documentation de GitLab
Comparer les forfaits GitLab
Forum de la communauté
Contribuer à GitLab
Donner votre avis
Conditions générales et politique de confidentialité
Raccourcis clavier
?
Extraits de code
Groupes
Projets
Afficher davantage de fils d'Ariane
Lilian Vanderveken
TP_LPHYS1303
Validations
2c42fe0c
Valider
2c42fe0c
rédigé
4 years ago
par
Lilian Vanderveken
Parcourir les fichiers
Options
Téléchargements
Correctifs
Plain Diff
02/02/21
parent
7e4e1441
Branches
master
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Modifications
1
Masquer les modifications d'espaces
En ligne
Côte à côte
Affichage de
1 fichier modifié
TP1.ipynb
+0
-241
0 ajout, 241 suppressions
TP1.ipynb
avec
0 ajout
et
241 suppressions
TP1.ipynb
supprimé
100644 → 0
+
0
−
241
Voir le fichier @
7e4e1441
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Oscillateur harmonique"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"np.set_printoptions(precision=6)\n",
"\n",
"\n",
"def HarmOsc(k,m,t,x0,mode):\n",
" dt=t[1]-t[0]\n",
" x=np.zeros((2,np.shape(t)[0]))\n",
" x[:,0]=x0\n",
" M=np.array([[0,-k],[1/m,0]])\t\n",
" if mode=='Euler avant':\n",
" for i in range(np.shape(x)[1]-1):\n",
" M=np.array([[0,-k],[1/m,0]])\n",
" x[:,i+1]=(np.identity(2)+dt*M).dot(x[:,i])\n",
" elif mode=='Euler arrière':\n",
" for i in range(np.shape(x)[1]-1):\n",
" M=np.array([[0,-k],[1/m,0]])\n",
" x[:,i+1]=np.linalg.solve((np.identity(2)-dt*M),x[:,i])\n",
" elif mode=='Euler centré':\n",
" for i in range(np.shape(x)[1]-1):\n",
" M=np.array([[0,-k],[1/m,0]])\n",
" x[:,i+1]=np.linalg.solve((np.identity(2)-dt/2*M),(np.identity(2)+dt/2*M).dot(x[:,i]))\n",
" elif mode=='Leapfrog':\n",
" x[:,1]=x[:,0]\n",
" for i in range (1,np.shape(x)[1]-1):\n",
" x[:,i+1]=x[:,i-1]+2*dt*M.dot(x[:,i])\n",
" elif mode=='Heun':\n",
" for i in range(np.shape(x)[1]-1):\n",
" xx=x[:,i]+dt*M.dot(x[:,i])\n",
" x[:,i+1]=x[:,i]+(dt/2)*(M.dot(x[:,i])+M.dot(xx))\n",
" elif mode=='RK4':\n",
" for i in range(np.shape(x)[1]-1):\n",
" k1=dt*M.dot(x[:,i])\n",
" k2=dt*M.dot(x[:,i]+k1/2)\n",
" k3=dt*M.dot(x[:,i]+k2/2)\n",
" k4=dt*M.dot(x[:,i]+k3)\n",
" x[:,i+1]=x[:,i]+(k1+2*k2+2*k3+k4)/6\n",
" elif mode=='Verlet':\n",
" for i in range(np.shape(x)[1]-1):\n",
" pp=x[0,i]-dt*k*x[1,i]\n",
" x[1,i+1]=x[1,i]+(dt/2)*(x[0,i]/m+pp/m)\n",
" x[0,i+1]=x[0,i]-(dt/2)*(x[1,i]+x[1,i+1])\n",
" elif mode=='Stormer_Verlet':\n",
" for i in range(np.shape(x)[1]-1):\n",
" pp=x[0,i]-(dt/2)*k*x[1,i]\n",
" x[1,i+1]=x[1,i]+(dt)*(pp/m)\n",
" x[0,i+1]=pp-(dt/2)*(x[1,i+1])\n",
" else:\n",
" print('Invalid integration method')\n",
" return(x)\n",
"\n",
"def Energie_calc(x,k,m):\n",
" return((x[0,:]*x[0,:])/(2*m)+k*(x[1,:]*x[1,:])/2)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"k=1.\n",
"m=1.0\n",
"omega=np.sqrt(k/m)\n",
"lmb=2*np.pi/omega\n",
"\n",
"dt=0.001\n",
"T=50\n",
"numt=int(np.floor(T/dt))+1\n",
"t=np.linspace(0,T,numt)\n",
"#Conditions initiales\n",
"x0=[0,1]\n",
"xsol=np.zeros((2,numt))\n",
"xsol[1,:]=x0[1]*np.cos(omega*t)+x0[0]/(m*omega)*np.sin(omega*t)\n",
"xsol[0,:]=(-x0[1]*omega*np.sin(omega*t)+x0[0]/(m*omega)*omega*np.cos(omega*t))*m\n",
"x_EUav=HarmOsc(k,m,t,x0,'Euler avant')\n",
"x_EUar=HarmOsc(k,m,t,x0,'Euler arrière')\n",
"x_Verl=HarmOsc(k,m,t,x0,'Verlet')\n",
"x_StVer=HarmOsc(k,m,t,x0,'Stormer_Verlet')\n",
"x_Heun=HarmOsc(k,m,t,x0,'Heun')\n",
"x_RK4=HarmOsc(k,m,t,x0,'RK4')\n",
"x_EUcen=HarmOsc(k,m,t,x0,'Euler centré')\n",
"\n",
"\n",
"E_Verl=Energie_calc(x_Verl,k,m)\n",
"E_StVerl=Energie_calc(x_StVer,k,m)\n",
"E_RK4=Energie_calc(x_RK4,k,m)\n",
"E_Heun=Energie_calc(x_Heun,k,m)\n",
"E_EUcen=Energie_calc(x_EUcen,k,m)\n",
"E_EUar=Energie_calc(x_EUar,k,m)\n",
"E_EUav=Energie_calc(x_EUav,k,m)\n",
"Esol=Energie_calc(xsol,k,m)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "6cdb7413bc5d4a48aa2d87d6b86cb35e",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%matplotlib widget\n",
"fig,ax=plt.subplots(figsize=(10,10))\n",
"plt.plot(t,E_Verl,label='Verlet')\n",
"plt.plot(t,E_StVerl,label='Stormer_Verlet')\n",
"plt.plot(t,E_Heun,label='Heun')\n",
"plt.plot(t,E_RK4,label='RK4')\n",
"plt.plot(t,E_EUcen,label='Euler centré',marker='D')\n",
"plt.plot(t,E_EUav,label='Euler avant')\n",
"plt.plot(t,E_EUar,label='Euler arrière')\n",
"plt.plot(t,Esol,label='Theoretical')\n",
"plt.ylim((0.45,0.525))\n",
"plt.xlim((-1,50))\n",
"plt.legend(loc='best',fontsize='small')\n",
"plt.xlabel('t')\n",
"plt.ylabel('Energie')\n",
"plt.title('Oscillateur harmonique: dt= %.5f'%(dt))\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" total_bill tip sex smoker day time size\n",
"0 16.99 1.01 Female No Sun Dinner 2\n",
"1 10.34 1.66 Male No Sun Dinner 3\n",
"2 21.01 3.50 Male No Sun Dinner 3\n",
"3 23.68 3.31 Male No Sun Dinner 2\n",
"4 24.59 3.61 Female No Sun Dinner 4\n",
".. ... ... ... ... ... ... ...\n",
"239 29.03 5.92 Male No Sat Dinner 3\n",
"240 27.18 2.00 Female Yes Sat Dinner 2\n",
"241 22.67 2.00 Male Yes Sat Dinner 2\n",
"242 17.82 1.75 Male No Sat Dinner 2\n",
"243 18.78 3.00 Female No Thur Dinner 2\n",
"\n",
"[244 rows x 7 columns]\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import pandas as pd\n",
"url=\"https://raw.githubusercontent.com/plotly/datasets/master/tips.csv\"\n",
"df = pd.read_csv(url)\n",
"print(df)\n",
"\n",
"df.plot(kind=\"line\")\n",
"plt.scatter(\"total_bill\", \"tip\",data=df)\n",
"plt.xlabel(\"Total Bill\")\n",
"plt.ylabel(\"Tip\")\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2.2.9\n"
]
}
],
"source": [
"!jupyter lab --version"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.5"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
%% Cell type:markdown id: tags:
# Oscillateur harmonique
%% Cell type:code id: tags:
```
python
import
numpy
as
np
import
matplotlib.pyplot
as
plt
np
.
set_printoptions
(
precision
=
6
)
def
HarmOsc
(
k
,
m
,
t
,
x0
,
mode
):
dt
=
t
[
1
]
-
t
[
0
]
x
=
np
.
zeros
((
2
,
np
.
shape
(
t
)[
0
]))
x
[:,
0
]
=
x0
M
=
np
.
array
([[
0
,
-
k
],[
1
/
m
,
0
]])
if
mode
==
'
Euler avant
'
:
for
i
in
range
(
np
.
shape
(
x
)[
1
]
-
1
):
M
=
np
.
array
([[
0
,
-
k
],[
1
/
m
,
0
]])
x
[:,
i
+
1
]
=
(
np
.
identity
(
2
)
+
dt
*
M
).
dot
(
x
[:,
i
])
elif
mode
==
'
Euler arrière
'
:
for
i
in
range
(
np
.
shape
(
x
)[
1
]
-
1
):
M
=
np
.
array
([[
0
,
-
k
],[
1
/
m
,
0
]])
x
[:,
i
+
1
]
=
np
.
linalg
.
solve
((
np
.
identity
(
2
)
-
dt
*
M
),
x
[:,
i
])
elif
mode
==
'
Euler centré
'
:
for
i
in
range
(
np
.
shape
(
x
)[
1
]
-
1
):
M
=
np
.
array
([[
0
,
-
k
],[
1
/
m
,
0
]])
x
[:,
i
+
1
]
=
np
.
linalg
.
solve
((
np
.
identity
(
2
)
-
dt
/
2
*
M
),(
np
.
identity
(
2
)
+
dt
/
2
*
M
).
dot
(
x
[:,
i
]))
elif
mode
==
'
Leapfrog
'
:
x
[:,
1
]
=
x
[:,
0
]
for
i
in
range
(
1
,
np
.
shape
(
x
)[
1
]
-
1
):
x
[:,
i
+
1
]
=
x
[:,
i
-
1
]
+
2
*
dt
*
M
.
dot
(
x
[:,
i
])
elif
mode
==
'
Heun
'
:
for
i
in
range
(
np
.
shape
(
x
)[
1
]
-
1
):
xx
=
x
[:,
i
]
+
dt
*
M
.
dot
(
x
[:,
i
])
x
[:,
i
+
1
]
=
x
[:,
i
]
+
(
dt
/
2
)
*
(
M
.
dot
(
x
[:,
i
])
+
M
.
dot
(
xx
))
elif
mode
==
'
RK4
'
:
for
i
in
range
(
np
.
shape
(
x
)[
1
]
-
1
):
k1
=
dt
*
M
.
dot
(
x
[:,
i
])
k2
=
dt
*
M
.
dot
(
x
[:,
i
]
+
k1
/
2
)
k3
=
dt
*
M
.
dot
(
x
[:,
i
]
+
k2
/
2
)
k4
=
dt
*
M
.
dot
(
x
[:,
i
]
+
k3
)
x
[:,
i
+
1
]
=
x
[:,
i
]
+
(
k1
+
2
*
k2
+
2
*
k3
+
k4
)
/
6
elif
mode
==
'
Verlet
'
:
for
i
in
range
(
np
.
shape
(
x
)[
1
]
-
1
):
pp
=
x
[
0
,
i
]
-
dt
*
k
*
x
[
1
,
i
]
x
[
1
,
i
+
1
]
=
x
[
1
,
i
]
+
(
dt
/
2
)
*
(
x
[
0
,
i
]
/
m
+
pp
/
m
)
x
[
0
,
i
+
1
]
=
x
[
0
,
i
]
-
(
dt
/
2
)
*
(
x
[
1
,
i
]
+
x
[
1
,
i
+
1
])
elif
mode
==
'
Stormer_Verlet
'
:
for
i
in
range
(
np
.
shape
(
x
)[
1
]
-
1
):
pp
=
x
[
0
,
i
]
-
(
dt
/
2
)
*
k
*
x
[
1
,
i
]
x
[
1
,
i
+
1
]
=
x
[
1
,
i
]
+
(
dt
)
*
(
pp
/
m
)
x
[
0
,
i
+
1
]
=
pp
-
(
dt
/
2
)
*
(
x
[
1
,
i
+
1
])
else
:
print
(
'
Invalid integration method
'
)
return
(
x
)
def
Energie_calc
(
x
,
k
,
m
):
return
((
x
[
0
,:]
*
x
[
0
,:])
/
(
2
*
m
)
+
k
*
(
x
[
1
,:]
*
x
[
1
,:])
/
2
)
```
%% Cell type:code id: tags:
```
python
k
=
1.
m
=
1.0
omega
=
np
.
sqrt
(
k
/
m
)
lmb
=
2
*
np
.
pi
/
omega
dt
=
0.001
T
=
50
numt
=
int
(
np
.
floor
(
T
/
dt
))
+
1
t
=
np
.
linspace
(
0
,
T
,
numt
)
#Conditions initiales
x0
=
[
0
,
1
]
xsol
=
np
.
zeros
((
2
,
numt
))
xsol
[
1
,:]
=
x0
[
1
]
*
np
.
cos
(
omega
*
t
)
+
x0
[
0
]
/
(
m
*
omega
)
*
np
.
sin
(
omega
*
t
)
xsol
[
0
,:]
=
(
-
x0
[
1
]
*
omega
*
np
.
sin
(
omega
*
t
)
+
x0
[
0
]
/
(
m
*
omega
)
*
omega
*
np
.
cos
(
omega
*
t
))
*
m
x_EUav
=
HarmOsc
(
k
,
m
,
t
,
x0
,
'
Euler avant
'
)
x_EUar
=
HarmOsc
(
k
,
m
,
t
,
x0
,
'
Euler arrière
'
)
x_Verl
=
HarmOsc
(
k
,
m
,
t
,
x0
,
'
Verlet
'
)
x_StVer
=
HarmOsc
(
k
,
m
,
t
,
x0
,
'
Stormer_Verlet
'
)
x_Heun
=
HarmOsc
(
k
,
m
,
t
,
x0
,
'
Heun
'
)
x_RK4
=
HarmOsc
(
k
,
m
,
t
,
x0
,
'
RK4
'
)
x_EUcen
=
HarmOsc
(
k
,
m
,
t
,
x0
,
'
Euler centré
'
)
E_Verl
=
Energie_calc
(
x_Verl
,
k
,
m
)
E_StVerl
=
Energie_calc
(
x_StVer
,
k
,
m
)
E_RK4
=
Energie_calc
(
x_RK4
,
k
,
m
)
E_Heun
=
Energie_calc
(
x_Heun
,
k
,
m
)
E_EUcen
=
Energie_calc
(
x_EUcen
,
k
,
m
)
E_EUar
=
Energie_calc
(
x_EUar
,
k
,
m
)
E_EUav
=
Energie_calc
(
x_EUav
,
k
,
m
)
Esol
=
Energie_calc
(
xsol
,
k
,
m
)
```
%% Cell type:code id: tags:
```
python
%
matplotlib
widget
fig
,
ax
=
plt
.
subplots
(
figsize
=
(
10
,
10
))
plt
.
plot
(
t
,
E_Verl
,
label
=
'
Verlet
'
)
plt
.
plot
(
t
,
E_StVerl
,
label
=
'
Stormer_Verlet
'
)
plt
.
plot
(
t
,
E_Heun
,
label
=
'
Heun
'
)
plt
.
plot
(
t
,
E_RK4
,
label
=
'
RK4
'
)
plt
.
plot
(
t
,
E_EUcen
,
label
=
'
Euler centré
'
,
marker
=
'
D
'
)
plt
.
plot
(
t
,
E_EUav
,
label
=
'
Euler avant
'
)
plt
.
plot
(
t
,
E_EUar
,
label
=
'
Euler arrière
'
)
plt
.
plot
(
t
,
Esol
,
label
=
'
Theoretical
'
)
plt
.
ylim
((
0.45
,
0.525
))
plt
.
xlim
((
-
1
,
50
))
plt
.
legend
(
loc
=
'
best
'
,
fontsize
=
'
small
'
)
plt
.
xlabel
(
'
t
'
)
plt
.
ylabel
(
'
Energie
'
)
plt
.
title
(
'
Oscillateur harmonique: dt= %.5f
'
%
(
dt
))
plt
.
show
()
```
%% Output
%% Cell type:code id: tags:
```
python
import
pandas
as
pd
url
=
"
https://raw.githubusercontent.com/plotly/datasets/master/tips.csv
"
df
=
pd
.
read_csv
(
url
)
print
(
df
)
df
.
plot
(
kind
=
"
line
"
)
plt
.
scatter
(
"
total_bill
"
,
"
tip
"
,
data
=
df
)
plt
.
xlabel
(
"
Total Bill
"
)
plt
.
ylabel
(
"
Tip
"
)
plt
.
show
()
```
%% Output
total_bill tip sex smoker day time size
0 16.99 1.01 Female No Sun Dinner 2
1 10.34 1.66 Male No Sun Dinner 3
2 21.01 3.50 Male No Sun Dinner 3
3 23.68 3.31 Male No Sun Dinner 2
4 24.59 3.61 Female No Sun Dinner 4
.. ... ... ... ... ... ... ...
239 29.03 5.92 Male No Sat Dinner 3
240 27.18 2.00 Female Yes Sat Dinner 2
241 22.67 2.00 Male Yes Sat Dinner 2
242 17.82 1.75 Male No Sat Dinner 2
243 18.78 3.00 Female No Thur Dinner 2
[244 rows x 7 columns]
%% Cell type:code id: tags:
```
python
!
jupyter
lab
--
version
```
%% Output
2.2.9
Ce diff est replié.
Cliquez pour l'agrandir.
Aperçu
0%
Chargement en cours
Veuillez réessayer
ou
joindre un nouveau fichier
.
Annuler
You are about to add
0
people
to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Enregistrer le commentaire
Annuler
Veuillez vous
inscrire
ou vous
se connecter
pour commenter