Programa para realizar problemas ópticos usando MATLAB
Este programa es simple si lo comparas con la fórmula de distribución de intensidad de luz de difracción de rendija simple. En el programa, la función de imagen se usa para simular y dibujar el patrón de difracción, y la función de trazado se usa para simular y dibujar el patrón de difracción. dibujar la intensidad de la luz;
No hay una función principal, la primera parte del programa genera los datos de distribución de la intensidad de la luz (datos de 51 puntos) necesarios para simular la difracción de rendija simple, y la segunda parte utiliza dos funciones. , imagen y trazado (propio de MATLAB), para simular la imagen;
Usar Subplot divide la ventana gráfica en dos partes. La primera parte simula y dibuja el patrón de difracción, y la segunda parte utiliza la función de trazado para. dibujar la intensidad de la luz.
¡He comentado las declaraciones clave al final!
lam=500e-9;
a= 1e-3; f=1;
xm= 3*lam*f/a;
nx= 51;
xs=linspace(-xm,xm,nx);% produce 51 datos uniformemente entre -xm y xm
np=51 ; p>
xp=linspace(0,a,np);%Generar 51 datos uniformemente entre 0 y a
%La declaración anterior crea varias variables, relacionadas con fórmulas específicas
for i=1:nx
sinphi= xs(i)/f;
alpha=2*pi*xp*sinphi/lam;
sumcos =suma(cos(alfa));
sumsin=sum(sin(alfa));
B(i,:)=(sumacos^2+ sumasin^2)/ np^2;
end
% La declaración anterior es un bucle for, que calcula la intensidad de la luz difractada en 51 posiciones y la coloca en el vector B
N=255;
Br=(B/max(B))*N;% normalizado a la escala de grises de píxeles correspondiente
figura(1);
subplot(1,2,1)
imagen(xm,xs,Br);% imagen de difracción simulada
mapa de colores(gray(N));
subplot(1,2,2)
plot(B,xs);% de intensidad de luz de difracción de rendija simple simulada