%% Oving 11 i bolgefysikk, program for aa regne ut
%% og plotte interferensmonstret med enkle, doble og
%% multiple spalter, med ulike spaltebredder a og
%% ulike spalteavstander d

%% Bolgelengden er i alle tilfelle 633 nm
lambda = 633e-9;

%% Enkeltspalter.
%%
%% Vi har 4 ulike spaltebredder: a = 0.02, 0.04, 0.08, 0.16 mm
%%
%% Lager vektor med vinkelverdier theta mellom 0 og pi/45, dvs 4 grader.
%% Siden vi skal dividere med beta = pi*a*sin(theta)/lambda i uttrykket for intensiteten I,
%% velger vi aa styre unna verdien theta = 0. Velger videre skrittlengde
%% pi/1e5, som sikkert er mer enn lite nok.
theta = 1e-10:pi/1e5:pi/45;

%% Lager saa vektor med y-verdier paa skjermen. Med L = 100 cm har vi
%% y (cm) = 100*tan(theta)
y = 100*tan(theta);

%% Deretter lager vi ganske enkelt 4 vektorer med funksjonen
%% [sin(beta)/beta]^2, med ulike verdier for spaltebredden a.
%% Her er som sagt beta = pi*a*sin(theta)/lambda
a=0.02e-3;
beta=pi*a*sin(theta)/lambda;
I1_a002 = (sin(beta)./beta).^2;
a=0.04e-3;
beta=pi*a*sin(theta)/lambda;
I1_a004 = (sin(beta)./beta).^2;
a=0.08e-3;
beta=pi*a*sin(theta)/lambda;
I1_a008 = (sin(beta)./beta).^2;
a=0.16e-3;
beta=pi*a*sin(theta)/lambda;
I1_a016 = (sin(beta)./beta).^2;
%% Deretter plotter vi disse 4 intensitetsfordelingene som funksjon av y
%% i hver sin figur med kommandoen subplot
subplot(2,2,1);
plot(y,I1_a002);
title('1 spalte, bredde 0.02 mm');
xlabel('y (cm)');
ylabel('Normert intensitet');
subplot(2,2,2);
plot(y,I1_a004);
title('1 spalte, bredde 0.04 mm');
xlabel('y (cm)');
ylabel('Normert intensitet');
subplot(2,2,3);
plot(y,I1_a008);
title('1 spalte, bredde 0.08 mm');
xlabel('y (cm)');
ylabel('Normert intensitet');
subplot(2,2,4);
plot(y,I1_a016);
title('1 spalte, bredde 0.16 mm');
xlabel('y (cm)');
ylabel('Normert intensitet');

%% Neste trinn blir aa lage og plotte I(y) for dobbeltspalter
%% med folgende kombinasjoner av a og d:
%% a=0.04,d=0.25: I2_a004_d025
%% a=0.04,d=0.50: I2_a004_d050
%% a=0.08,d=0.25: I2_a008_d025
%% a=0.08,d=0.50: I2_a008_d050
%% Litt proving og feiling tilsier at maks vinkel ikke bor vare mer
%% enn pi/90
theta = 1e-10:pi/1e5:pi/90;
y = 100*tan(theta);
%% Vi maa naa bruke hele funksjonen oppgitt i oppgaveteksten, med N=2,
%% og baade beta og phi maa oppdateres. Funksjonen er
%% [sin(beta)/beta]^2 * [sin(2phi)/sin(phi)]^2, med
%% beta = pi*a*sin(theta)/lambda og
%% phi = pi*d*sin(theta)/lambda
%% Men siden sin(2phi)=2sin(phi)cos(phi), forenkles uttrykket for intensiteten til
%% [sin(beta)/beta]^2 * [2cos(phi)]^2. Faktoren 4 er ikke interessant her,
%% saa den stryker vi. I tillegg til selve I(y) plotter vi ogsaa ''diffraksjonsfaktoren''
%% [sin(beta)/beta]^2. Det gir et godt bilde av samspillet mellom diffraksjon og interferens.
a=0.04e-3;
d=0.25e-3;
beta=pi*a*sin(theta)/lambda;
phi=pi*d*sin(theta)/lambda;
I2_a004_d025 = ((sin(beta)./beta).^2).*(cos(phi)).^2;
D_a004_d025 =  (sin(beta)./beta).^2;
a=0.04e-3;
d=0.50e-3;
beta=pi*a*sin(theta)/lambda;
phi=pi*d*sin(theta)/lambda;
I2_a004_d050 = ((sin(beta)./beta).^2).*(cos(phi)).^2;
D_a004_d050 =  (sin(beta)./beta).^2;
a=0.08e-3;
d=0.25e-3;
beta=pi*a*sin(theta)/lambda;
phi=pi*d*sin(theta)/lambda;
I2_a008_d025 = ((sin(beta)./beta).^2).*(cos(phi)).^2;
D_a008_d025 =  (sin(beta)./beta).^2;
a=0.08e-3;
d=0.50e-3;
beta=pi*a*sin(theta)/lambda;
phi=pi*d*sin(theta)/lambda;
I2_a008_d050 = ((sin(beta)./beta).^2).*(cos(phi)).^2;
D_a008_d050 =  (sin(beta)./beta).^2;
%% Deretter plotter vi disse 4 intensitetsfordelingene som funksjon av y
%% i hver sin figur med kommandoen subplot. Vi ber forst om en ny figur med
%% kommandoen figure, slik at figuren for enkeltspalten ikke blir overskrevet.
figure;
subplot(2,2,1);
plot(y,I2_a004_d025,y,D_a004_d025);
title('2 spalter, bredde 0.04 mm, avstand 0.25 mm');
xlabel('y (cm)');
ylabel('Normert intensitet');
subplot(2,2,2);
plot(y,I2_a004_d050,y,D_a004_d050);
title('2 spalter, bredde 0.04 mm, avstand 0.50 mm');
xlabel('y (cm)');
ylabel('Normert intensitet');
subplot(2,2,3);
plot(y,I2_a008_d025,y,D_a008_d025);
title('2 spalter, bredde 0.08 mm, avstand 0.25 mm');
xlabel('y (cm)');
ylabel('Normert intensitet');
subplot(2,2,4);
plot(y,I2_a008_d050,y,D_a008_d050);
title('2 spalter, bredde 0.08 mm, avstand 0.50 mm');
xlabel('y (cm)');
ylabel('Normert intensitet');

%% Siste trinn blir aa lage og plotte I(y) for 2, 3, 4 og 5 spalter
%% alle med a=0.04 mm og d=0.125 mm:
%% N=2: I2_a004_d0125
%% N=3: I3_a004_d0125
%% N=4: I4_a004_d0125
%% N=5: I5_a004_d0125
%% Litt proving og feiling tilsier at maks vinkel heller ikke her bor vare mer enn pi/90
theta = 1e-10:pi/1e5:pi/90;
y = 100*tan(theta);
%% Vi maa ogsaa naa bruke hele funksjonen oppgitt i oppgaveteksten, med varierende N,
%% men beta og phi trenger naa ikke oppdateres. Funksjonen er
%% [sin(beta)/beta]^2 * [sin(N*phi)/sin(phi)]^2, med
%% beta = pi*a*sin(theta)/lambda og
%% phi = pi*d*sin(theta)/lambda
a=0.04e-3;
d=0.125e-3;
beta=pi*a*sin(theta)/lambda;
phi=pi*d*sin(theta)/lambda;
I2_a004_d0125 = ((sin(beta)./beta).^2).*((sin(2*phi)./sin(phi)).^2)/4;
I3_a004_d0125 = ((sin(beta)./beta).^2).*((sin(3*phi)./sin(phi)).^2)/9;
I4_a004_d0125 = ((sin(beta)./beta).^2).*((sin(4*phi)./sin(phi)).^2)/16;
I5_a004_d0125 = ((sin(beta)./beta).^2).*((sin(5*phi)./sin(phi)).^2)/25;
%% Her blir diffraksjonsfaktoren den samme for alle, siden den ikke avhenger
%% av antall spalter N:
D_a004_d0125 =  (sin(beta)./beta).^2;
%% Deretter plotter vi disse 4 intensitetsfordelingene som funksjon av y
%% i hver sin figur med kommandoen subplot
figure;
subplot(2,2,1);
plot(y,I2_a004_d0125,y,D_a004_d0125);
title('2 spalter, bredde 0.04 mm, avstand 0.125 mm');
xlabel('y (cm)');
ylabel('Normert intensitet');
subplot(2,2,2);
plot(y,I3_a004_d0125,y,D_a004_d0125);
title('3 spalter, bredde 0.04 mm, avstand 0.125 mm');
xlabel('y (cm)');
ylabel('Normert intensitet');
subplot(2,2,3);
plot(y,I4_a004_d0125,y,D_a004_d0125);
title('4 spalter, bredde 0.04 mm, avstand 0.125 mm');
xlabel('y (cm)');
ylabel('Normert intensitet');
subplot(2,2,4);
plot(y,I5_a004_d0125,y,D_a004_d0125);
title('5 spalter, bredde 0.04 mm, avstand 0.125 mm');
xlabel('y (cm)');
ylabel('Normert intensitet');
