How to plot Fresnel Diffraction?
    23 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
Hi I am trying to plot 1D fresnel diffraction in MATLAB. Is there any way of it?
1 Kommentar
  Image Analyst
      
      
 am 1 Mär. 2014
				Yes. You need the equation giving the signal as a function of distance, then use plot().
Antworten (1)
  Prasobhkumar P. P.
      
 am 4 Mär. 2020
        
      Bearbeitet: Prasobhkumar P. P.
      
 am 4 Mär. 2020
  
      function U = fresnel_advance(U0, dx, dy, z, lambda)
% The function receives a field U0 at wavelength lambda
% and returns the field U after distance z, using the Fresnel
% approximation. dx, dy, are spatial resolution.
%If required, Please see below code's 2d version at
k=2*pi/lambda;
[~ nx] = size(U0); 
Lx = dx * nx;
dfx = 1./Lx;
u = ones(nx,1)*((1:nx)-nx/2)*dfx; 
O = fftshift(fft(U0));
H = exp(1i*k*z).*exp(-1i*pi*lambda*z*(u.^2));  
U = ifft2(O.*H);  
1 Kommentar
Siehe auch
Kategorien
				Mehr zu 2-D and 3-D Plots finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



