

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
fig, ax = plt.subplots(figsize=(10, 5))
ax.set(xlim=(-0.5,0.5), ylim=(0, 2.2))
plt.title('Courbes en intensité de la figure de diffraction')
plt.xlabel('x (m)', fontsize=16)
plt.ylabel('Intensité',fontsize=16)
x = np.linspace(-1, 1, 300)
#Courbe 1
# Valeur de k_1
k_1 = float(input("Saisir la valeur de k_1 : " ))
I = 2
F1 = I*(np.sinc(np.pi*k_1*x))**2
#Courbe 2
# Valeur de k_2
k_2 = float(input("Saisir la valeur de k_2 : " ))
I = 2
F2 = I*(np.sinc(np.pi*k_2*x))**2
#Courbe 3
# Valeur de k_3
k_3 = float(input("Saisir la valeur de k_3 : " ))
I = 2
F3 = I*(np.sinc(np.pi*k_3*x))**2
#Courbe 4
# Valeur de k_4
k_4 = float(input("Saisir la valeur de k_4 : " ))
I = 2
F4 = I*(np.sinc(np.pi*k_4*x))**2
#Courbe 5
# Valeur de k_5
k_5 = float(input("Saisir la valeur de k_5 : " ))
I = 2
F5 = I*(np.sinc(np.pi*k_5*x))**2
def animate(i):
ax.plot(x,F1, color='purple',lw=1, label="$\lambda = 400$ nm")
ax.plot(x,F2, color='b',lw=1, label="$\lambda = 450$ nm")
ax.plot(x,F3, color='g',lw=1, label="$\lambda = 550$ nm")
ax.plot(x,F4, color='orange',lw=1, label="$\lambda = 600$ nm")
ax.plot(x,F5, color='r',lw=1, label="$\lambda = 700$ nm")
plt.grid(True)
plt.legend()
anim = FuncAnimation(fig, animate, interval=30, frames=300)
plt.show()
| \bm x (m) | \bm{\dfrac{I}{I_0}} |
|---|---|
| -0,200 0 | 0,001 0 |
| -0,180 0 | 0,000 9 |
| -0,160 0 | 0,000 2 |
| -0,140 0 | 0,002 5 |
| -0,127 0 | 0,000 0 |
| -0,120 0 | 0,001 0 |
| -0,100 0 | 0,0014 |
| -0,094 0 | 0,000 0 |
| -0,080 0 | 0,007 6 |
| -0,063 0 | 0,000 0 |
| -0,060 0 | 0,001 1 |
| -0,040 0 | 0,018 0 |
| -0,031 0 | 0,000 0 |
| -0,020 0 | 0,100 0 |
| 0,000 0 | 0,500 0 |
| 0,020 0 | 0,100 0 |
| 0,031 0 | - |
| 0,040 0 | 0,018 0 |
| 0,060 0 | 0,001 1 |
| 0,063 0 | 0,000 0 |
| 0,080 0 | 0,007 6 |
Nos manuels sont collaboratifs, n'hésitez pas à nous en faire part.
j'ai une idée !
Oups, une coquille