Vamos a analizar la siguiente relacion de dispersion
![](http://manza.space/wp-content/uploads/2022/07/plot-1.png)
que se analiza en la siguiente liga: http://manza.space/2022-2/guia-discontinua/relacion-de-dispersion/
Vamos a analizar el caso para una frecuencia 0.1
import math import numpy as np import matplotlib.pyplot as plt c = 3e8 d = 0.5e-6 nl = 1.0 nh = 3.6 el = nl*nl eh = nh*nh Om = 0.1 w = ((2.0*math.pi*c)/d)*Om kl = nl*(w/c) kh = nh*(w/c) Nky = 100 kyi = nl*(w/c) kyf = nh*(w/c) dky = (kyf-kyi)/(Nky) kyV = np.zeros(Nky) aux1 = np.zeros(Nky) aux2 = np.zeros(Nky) qlxV = np.zeros(Nky) khxV = np.zeros(Nky) for iky in range(2,Nky-2): ky = kyi+iky*dky kyV[iky] = ky*(d/(2.0*math.pi)) qlx = math.sqrt(ky*ky-kl*kl) khx = math.sqrt(kh*kh-ky*ky) qlxV[iky] = qlx khxV[iky] = khx aux1[iky] = abs(qlx-khx*math.tan(0.5*khx*d)) aux2[iky] = abs(qlx+khx*(1.0/math.tan(0.5*khx*d))) for iky in range(2,Nky-2): if aux1[iky]<aux1[iky-1] and aux1[iky]<aux1[iky+1]: print("par",iky,kyV[iky],"qlx=",qlxV[iky],",khx=",khxV[iky]) if aux2[iky]<aux2[iky-1] and aux2[iky]<aux2[iky+1]: print("impar",iky,kyV[iky],"qlx=",qlxV[iky],",khx=",khxV[iky])
el resultado es
par 62 0.2612 qlx= 3032258.7195141893 ,khx= 3113178.7677315874
plt.plot(kyV,aux1,'b.')
![](http://manza.space/wp-content/uploads/2022/07/index.png)
Om=0.2
impar 28 0.34559999999999996 qlx= 3541830.1643658113 ,khx= 7937338.2827297235 par 84 0.6367999999999999 qlx= 7597347.907542297 ,khx= 4222109.034530145
Om=0.35
par 24 0.5683999999999998 qlx= 5627974.468371605 ,khx= 14131002.155258968 impar 70 0.9869999999999999 qlx= 11596990.03063907 ,khx= 9842212.18821431 par 93 1.1962999999999997 qlx= 14375366.055158557 ,khx= 4970731.264992242