% déclaration + initialisation 
clear all
close all
Nph=10000; %Nombre de Photon 
Npts=100; 
EO=linspace(.1, 100, Npts);
Tcoh=zeros(1,Npts);
Tdiff=zeros(1,Npts);
Rdiff=zeros(1,Npts);
for jj=1:Npts
Ndiff=zeros(1,Nph);%initialisation du vecteur de nbre de diffusion
cosphi=zeros(1,Nph);% initialisation du vecteur de cosphi
theta=zeros(1,Nph);%initialisation du vecteur theta
for ii=1:Nph
[Ndiff(ii),theta(ii),cosphi(ii)]=PROJET(EO(jj)); % appel à la fonction du fichier PROJET.m
end
Tcoh(jj) = sum(Ndiff==0)/Nph ;%transmission cohérente
Tdiff(jj)=sum(cosphi> 0 & Ndiff>0)/Nph ;%transmission diffuse
Rdiff(jj)=sum(cosphi<0 & Ndiff>0)/Nph ;% réflexion diffuse
end
%Tcoh+Tdiff+Rdiff
plot(EO,Rdiff);
hold on 
plot(EO,Tcoh);
hold on
plot(EO,Tdiff);
xlabel('EO');
ylabel('Rd1, Rd2, Rd3');
legend({'L=1','L=2','L=5'});
title('Tracés de Rd en fct de EO pour les L donnés');

                  
                  
                    
                      
% déclaration + initialisation 
close all
clear all
Nph=50000; %Nombre de Photon 
Npts=10;
EO=linspace(10, 150, Npts);
N_moy=zeros(1,Npts);
N_moy_T=zeros(1,Npts);
Tdiff =zeros(1,Npts);
Rdiff = zeros(1,Npts);
for jj=1:Npts % boucle sur l'ep opt
Nsc=zeros(1,Nph);
z_final = zeros(1,Nph);
for ii=1:Nph % boucle sur les photons qu'on envoie
N=0; x=0; y=0; theta =0; cosphi=1; % initialisations
l = -log(rand);% Longueur du 1er pas
z=l; % 1er pas ballistique dans la direction z 
while z>0 && z 
N=N+1; % ça diffuse 
cosphi = 2*rand-1;
theta = 2*pi*rand;
l = -log(rand);% Longueur de pas
x = x+ l* sqrt(1-cosphi.^2).*cos(theta);
y = y+ l* sqrt(1-cosphi.^2).*sin(theta);
z = z+ l* cosphi;
end
z_final(ii) = z;
Nsc(ii) = N;
end
Tdiff(jj) = sum(z_final>0)/Nph;
Rdiff(jj) = sum(z_final<0)/Nph; 
Nmoy(jj) = mean(Nsc);
Nmoy_T(jj) = mean(Nsc(z_final>0));
end
figure(1), plot(EO, Tdiff, 'o', EO, Rdiff, 'd'), xlabel('Ep. opt.'), ylabel('Nb de diffusions');
figure(2), plot(EO, Nmoy, '.', EO, Nmoy_T, 'o'), xlabel('Ep. opt.'), ylabel('Nb de diffusions');
figure(3), plot(log10(EO), log10(Nmoy_T), '*k'), xlabel('Ep. opt.'), ylabel('Nb de diffusions');;