Bonjour à tous,
Je n'ai aucune expérience en python...
Je souhaite tracer le graphe sin(i1) en fonction de sin(i2) puis faire une modélisation linéaire. (loi de Snell Descartes)
Expérimentalement, j'ai des valeurs des angles i1 et i2 en degré. Dans le programme ci-dessous, j'ai converti ces angles en radian puis déterminer leur sinus. Je veux modéliser ce graphe par une droite, j'ai donc utiliser np.polyfit.
Seule l'avant dernière ligne ne marche pas : j'aimerai superposer graphiquement la modélisation et les valeurs expériementale. Pouvez vous m'aider ?
Merci beaucoup !
from lycee import *
from matplotlib import pyplot as plt
import numpy as np
i1=np.array ([10,20,30,40,50,60])
i2=np.array ([6.6,13.2,19.5,25.4,30.7,35.3])
i1rad = [ ]
i2rad = [ ]
sini1 = [ ]
sini2 = [ ]
for i in range (0,6) :
i1rad.append(np.pi*i1[i ]/180)
i2rad.append(np.pi*i2[i ]/180)
sini1.append(np.sin(i1rad[i ]))
sini2.append(np.sin(i2rad[i ]))
plt.axis([0,0.6,0,1])
plt.title('Loi de Snell Descartes')
plt.xlabel('sin(i2)')
plt.ylabel('sin(i1)')
plt.grid('true')
plt.plot(sini2, sini1,'ro')
a,b = np.polyfit(sini2, sini1,1)
plt.plot(sini2, a*sini2+b,'b-')
plt.show ( )