How do I create a source field of light through a circular aperture?

9 vues (au cours des 30 derniers jours)
Janna Hinchliff
Janna Hinchliff le 8 Avr 2020
I have been trying to construct a code where I propagate a light source through a circular aperture. So far I have
L1=0.5; % side length
M=500; % number of samples
dx1=L1/M; % src sample interval
x1=-L1/2:dx1:L1/2-dx1; % src coords
lambda=500*10^-9; % wavelength
k=2*pi/lambda; % wavenumber
w=0.05; % source half width (m)
z=500; % propagation dist and focal length (m)
u1=circ(sqrt(X1^2+Y1^2)/w); % src field
I1=abs(u1.^2); % src intensity
axis square; axis xy;
colormap('gray'); xlabel('x (m)'); ylabel('y (m)');
title('z= 0 m');
but the intensity plot shown does not represent a circular source. Is my definition of u1 incorrect or have a made an error in the coding?
I have defined the function circ as
% circle function
% evaluates circ(r)
% note: returns odd number of samples for diameter

Réponse acceptée

darova le 8 Avr 2020
First of all you forgout about element-wise:
X1.^2 + Y.^2 % each element of matrix in power '2'
Here is what i tried

Plus de réponses (0)


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by