L'intensité du son qui entre dans vos oreilles avec désinvolture peut fluctuer périodiquement. Ce phénomène s'appelle ** "beat" ** ing.
L'origine de ce phénomène est, en prenant une onde unidimensionnelle comme exemple. ** La fréquence d'onde $ k $ et la fréquence angulaire $ \ omega $ sont légèrement différentes, et du fait de la superposition de deux ondes sinusoïdales se déplaçant dans la même direction, la force de l'onde (amplitude) fluctue lentement et périodiquement ** y a-t-il.
Dans un support avec dispersion La fréquence angulaire $ \ omega $ est une fonction de $ k $, et la quantité physique qui caractérise le mouvement de l'onde est ** vitesse du groupe **. Il est important de considérer 80% 9F% E5% BA% A6) $ v_g = \ frac {\ partial \ omega (k)} {\ partial k} $. Ceci se distingue de la vitesse d'onde normale [** vitesse de phase **](vitesse de phase) $ v_p = \ frac {\ omega} {k} $ qui se déplace à travers un milieu uniforme.
** Le phénomène du rugissement s'apprend en physique au lycée, mais il peut être difficile pour les élèves de saisir le phénomène car ils doivent imaginer l'apparition d'ondes variant dans le temps. Par conséquent, dans cet article, nous créons une animation en utilisant la méthode d'animation de matplotlib dans le but d'aider à comprendre le phénomène de bourdonnement. ** **
** Je pense que vous pouvez approfondir votre compréhension du phénomène et de la vitesse du groupe simplement en regardant l'animation montrée dans le résultat. ** </ font>
(1) Phénomène de gémissement lorsqu'il n'y a pas de dispersibilité. A ce moment, la vitesse de phase de l'onde et la vitesse de groupe correspondent.
(2) Phénomène de gémissement lorsqu'il y a dispersibilité. La vitesse du groupe ne correspond pas à la vitesse de phase.
(3) Combinez les animations créées en (1) et (2) ci-dessus.
"""
Phénomène de gémissement:Pas de dispersibilité
"""
%matplotlib nbagg
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
fig = plt.figure(figsize = (8, 6))
L, t_max = 6,12
Nx= 240
Nt = 100
delta_x=L/Nx
delta_t=t_max/Nt
xx=list(range(Nx))
a=1
k1= 2*np.pi/(L/10)
omega1=10
phi1=0
k2= (1+0.15)*k1
omega2=(1+0.15)*omega1
phi2=0
u1=np.zeros([Nx,Nt])
u2=np.zeros([Nx,Nt])
utot=np.zeros([Nx,Nt])
xlis=np.zeros([Nx])
for i in range(Nx):
x = i*delta_x
xlis[i] = x
for j in range(Nt):
t = j*delta_t
u1[i,j]=a*np.cos(k1*x-omega1*t-phi1)
u2[i,j]=a*np.cos(k2*x-omega2*t-phi2)
utot[i,j]= u1[i,j]+u2[i,j]
def update(j,utot,fig_title):
if j != 0:
plt.cla()
plt.ylim(-3, 3)
plt.xlim(0, L)
plt.plot( xlis,u1[:,j], '--', color='red', linewidth = 1)
plt.plot( xlis,u2[:,j], '--', color='blue',linewidth = 1)
plt.plot( xlis,utot[:,j], '-', color='purple', linewidth =4)
plt.title(fig_title + str("{0:.1f}".format(j*delta_t)))
plt.xlabel('X')
plt.ylabel('U')
plt.legend(['u1','u2', 'u1+u2'], loc='upper right')
ani = animation.FuncAnimation(fig,update,fargs = (utot,'Beat: t ='), interval =1, frames = Nt,blit=False)
fig.show()
ani.save("output.gif", writer="imagemagick")
Un phénomène de rugissement (un phénomène dans lequel l'amplitude de l'onde composite fluctue périodiquement) est observé. A ce moment, la vitesse de phase et la vitesse de groupe correspondent.
Étudiez ce qui se passe lorsque des ondes hétérogènes, c'est-à-dire des ondes dispersives, se superposent.
"""
Relation distribuée ω=f(k)S'il y a
"""
%matplotlib nbagg
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
fig = plt.figure(figsize = (8, 6))
L, t_max = 6,12
Nx= 240
Nt = 100
delta_x=L/Nx
delta_t=t_max/Nt
xx=list(range(Nx))
#X,T = np.meshgrid(x,t)
omega=10
omega0=30
a=1
k1= 2*np.pi/(L/10)
V0= omega/k1
omega1=np.sqrt((V0*k1)**2+omega0**2)
phi1=0
k2= (1+0.15)*k1
omega2=np.sqrt((V0*k2)**2+omega0**2)
phi2=0
u1=np.zeros([Nx,Nt])
u2=np.zeros([Nx,Nt])
utot=np.zeros([Nx,Nt])
xlis=np.zeros([Nx])
for i in range(Nx):
x = i*delta_x
xlis[i] = x
for j in range(Nt):
t = j*delta_t
u1[i,j]=a*np.cos(k1*x-omega1*t-phi1)
u2[i,j]=a*np.cos(k2*x-omega2*t-phi2)
utot[i,j]= u1[i,j]+u2[i,j]
def update(j,utot,fig_title):
if j != 0:
plt.cla()
plt.ylim(-3, 3)
plt.xlim(0, L)
plt.plot( xlis,u1[:,j], '--', color='red', linewidth = 1)
plt.plot( xlis,u2[:,j], '--', color='blue',linewidth = 1)
plt.plot( xlis,utot[:,j], '-', color='green', linewidth =4)
plt.title(fig_title + str("{0:.1f}".format(j*delta_t)))
plt.xlabel('X')
plt.ylabel('U')
plt.legend(['u1','u2', 'u1+u2'], loc='upper right')
ani = animation.FuncAnimation(fig,update,fargs = (utot,'Beat: t ='), interval =1, frames = Nt,blit=False)
fig.show()
ani.save("output2.gif", writer="imagemagick")
** Dans ce cas, il y a une différence entre la vitesse du groupe (la vitesse à laquelle l'enveloppe ("groan waveform") se déplace) et la vitesse de phase (la vitesse à laquelle l'onde elle-même se déplace). La "forme d'onde de gémissement" se déplace à la vitesse du groupe et l'onde elle-même se déplace à la vitesse de phase. ** **
La différence de mouvement entre dispersible (ligne verte) et non dispersive (ligne violette) est claire.
(1) À propos de la relation de distribution utilisée dans cet article
Équation d'onde de corde unidimensionnelle, $\frac{\partial^2 u(x,t)}{\partial t^2} = v^2 \frac{\partial^2 u(x,t)}{\partial x^2} \tag{1} $ Lorsque la force de restauration $ - \ omega_0 ^ 2 u (x, t) \ tag {2} $, qui contient les particules constitutives de la chaîne à chaque position, est ajoutée, l'équation d'onde devient
La solution de cette équation d'onde est
Comme $ \ omega (k) = (v ^ 2k ^ 2 + \ omega_0 ^ 2) ^ \ frac {1} {2} \ tag {4} $
Il se trouve que Dans le contenu (2) de cet article, la relation de dispersion ci-dessus (équation .4) a été utilisée.
(2) Diverses relations de dispersion sont connues dans divers milieux. Laisse moi te donner un exemple.
** Formule de dispersion des ondes voyageant à la surface des eaux profondes **: $ \ omega (k) = \ sqrt (gk + T k ^ 3 / \ rho) \ tag {6} $ (g est l'accélération de gravité, T est La tension superficielle, $ \ rho $ est la densité.
** Système à deux atomes (chaque masse ionique est $ m_1 $ et $ m_2 $) ** ** vibration du réseau ** en considérant uniquement l'interaction la plus proche wiki /% E6% A0% BC% E5% AD% 90% E6% 8C% AF% E5% 8B% 95) distribution:
[1] Pour la création d'animation, l'article Qiita d'AnchorBlues: Création d'animation flexible utilisant animation.FuncAnimation de matplotlib était utile et facile à comprendre. ..
[2] Pour la vitesse de groupe, par exemple, par Yosuke Nagaoka ["Vibration and Waves"](https://www.amazon.co.jp/%E6%8C%AF%E5%8B%95%E3%81% A8% E6% B3% A2-% E9% 95% B7% E5% B2% A1-% E6% B4% 8B% E4% BB% 8B / dp / 4785320451) a une explication élémentaire et facile à comprendre.
Recommended Posts