tp.py

Created by lilian-delazig

Created on February 13, 2024

4.25 KB


# =====================================================================
# TP Chapitre 13 - 3ème loi de Kepler - Etude du programme
# =====================================================================
"""
Ce programme permet de tester la troisème loi de Kepler à partir des
données (demi grand axe a et période de révolution T) des planètes du
système solaire regroupées dans le fichier Data.txt.
"""
# ============ Extraction des données : NE PAS MODIFIER ==============
import numpy as np

with open('Data.txt') as fichier: 
# Caractéristiques des planètes du système solaire
# Planète ; 
# Demi grand axe a en au ;
# Période sidérale T en années terrestres
# Mercure ; Venus ; Terre ; Mars ; Jupiter ; Sature ; Uranus ; Neptune
0.3871;0.7233;1.0000;1.5237;5.2026;9.5547;19.218;30.109
0.2408;0.6152;1.0000;1.8808;11.862;29.457;84.020;164.77
    header = [fichier.readline() for i in range(5)]
    a=np.array([float(i) for i in fichier.readline().split(';')])
    T=np.array([float(i) for i in fichier.readline().split(';')])

# ============ Programme à compléter =================================

from matplotlib import pyplot as plt

x,y = [],[] # Définitions de listes vides pour x et y
"""
Exprimer x en fonction de a et y en fonction de T pour obtenir une droite.
"""
x=a**3
y=T**2

k,b=np.polyfit(x,y,1) # Modélisation par une droite d'équation y=k*x+b

# Affichage du nuage de points et de sa modélisation
plt.plot(x,y,'+',ms=10,label='Données')
plt.plot(x,k*x+b,'r-',label='Modélisation')
plt.xlabel('$a^{3}$ (en $\mathrm{ua}^{3}$)')
plt.ylabel('$T^{2}$ (en $\mathrm{an}^{2}$)')

# Affichage de l'équation de modélisation
equation=r'$T^{2} =$'+str('%.4f'%k)+r'$\times a^{3}+$'+str('%.4f'%b)
plt.text(0,0,'Equation de la modélisation :\n'+equation)

plt.legend(loc=4)
plt.grid()
plt.show()

# ============ Calcul et affichage de la masse du Soleil ==============
"""
Approximation d'une orbite circulaire : k = 4π^2/(G*M_S).
"""
from math import pi
ua=1.495978707E11   # unité astronomique (en m)
an = 365.25*24*3600 # année terrestre (en s)

k_SI=k*an**2/ua**3  # Conversion de k en unités SI

G=6.673e-11         # Constante de gravitation (en N.m^2.kg^-2)

M_S=4*pi**2/(G*k_SI)#  Calcul de la masse du Soleil (en kg)

print('La masse du Soleil est estimée à M_Soleil =','%.3e' % M_S,'kg')# =====================================================================
# TP Chapitre 13 - 3ème loi de Kepler - Etude du programme
# =====================================================================
"""
Ce programme permet de tester la troisème loi de Kepler à partir des
données (demi grand axe a et période de révolution T) des planètes du
système solaire regroupées dans le fichier Data.txt.
"""
# ============ Extraction des données : NE PAS MODIFIER ==============
import numpy as np

with open('Data.txt') as fichier:
    header = [fichier.readline() for i in range(5)]
    a=np.array([float(i) for i in fichier.readline().split(';')])
    T=np.array([float(i) for i in fichier.readline().split(';')])

# ============ Programme à compléter =================================

from matplotlib import pyplot as plt

x,y = [],[] # Définitions de listes vides pour x et y
"""
Exprimer x en fonction de a et y en fonction de T pour obtenir une droite.
"""
x=a**3
y=T**2

k,b=np.polyfit(x,y,1) # Modélisation par une droite d'équation y=k*x+b

# Affichage du nuage de points et de sa modélisation
plt.plot(x,y,'+',ms=10,label='Données')
plt.plot(x,k*x+b,'r-',label='Modélisation')
plt.xlabel('$a^{3}$ (en $\mathrm{ua}^{3}$)')
plt.ylabel('$T^{2}$ (en $\mathrm{an}^{2}$)')

# Affichage de l'équation de modélisation
equation=r'$T^{2} =$'+str('%.4f'%k)+r'$\times a^{3}+$'+str('%.4f'%b)
plt.text(0,0,'Equation de la modélisation :\n'+equation)

plt.legend(loc=4)
plt.grid()
plt.show()

# ============ Calcul et affichage de la masse du Soleil ==============
"""
Approximation d'une orbite circulaire : k = 4π^2/(G*M_S).
"""
from math import pi
ua=1.495978707E11   # unité astronomique (en m)
an = 365.25*24*3600 # année terrestre (en s)

k_SI=k*an**2/ua**3  # Conversion de k en unités SI

G=6.673e-11         # Constante de gravitation (en N.m^2.kg^-2)

M_S=4*pi**2/(G*k_SI)#  Calcul de la masse du Soleil (en kg)

print('La masse du Soleil est estimée à M_Soleil =','%.3e' % M_S,'kg')

During your visit to our site, NumWorks needs to install "cookies" or use other technologies to collect data about you in order to:

With the exception of Cookies essential to the operation of the site, NumWorks leaves you the choice: you can accept Cookies for audience measurement by clicking on the "Accept and continue" button, or refuse these Cookies by clicking on the "Continue without accepting" button or by continuing your browsing. You can update your choice at any time by clicking on the link "Manage my cookies" at the bottom of the page. For more information, please consult our cookies policy.