File Exchange

## Laurrenge gaussian modes

version 1.0.0 (5.91 KB) by pratheeb N.P

### pratheeb N.P (view profile)

pratheeb

Updated 24 May 2019

p = 1; % Degree of LG mode
l = 2; % Order of LG mode
w0 = 2.0; % Beam waist
k = 2*pi/532.0e-9; % Wavenumber of light

zR = k*w0^2/2; % Calculate the Rayleigh range

% Setup the cartesian grid for the plot at plane z
z = 0.0;
[xx, yy] = meshgrid(linspace(-5, 5), linspace(-5, 5));

% Calculate the cylindrical coordinates
[phi, r] = cart2pol(xx, yy);

U00 = 1/(1 + 1i*z/zR) .* exp(-r.^2/w0^2./(1 + 1i*z/zR));
w = w0 * sqrt(1 + z.^2/zR^2);
R = sqrt(2)*r./w;

% Lpl from OT toolbox
Lpl = nchoosek(p+l,p) * ones(size(R)); % x = R(r, z).^2
for m = 1:p
Lpl = Lpl + (-1)^m/factorial(m) * nchoosek(p+l,p-m) * R.^(2*m);
end

U = U00.*R.^l.*Lpl.*exp(1i*l*phi).*exp(-1i*(2*p + l + 1)*atan(z/zR));

figure;
subplot(1, 2, 1);
imagesc(abs(U).^2);
title('Intensity');
subplot(1, 2, 2);
imagesc(angle(U));
title('Phase');

### Cite As

pratheeb N.P (2020). Laurrenge gaussian modes (https://www.mathworks.com/matlabcentral/fileexchange/71643-laurrenge-gaussian-modes), MATLAB Central File Exchange. Retrieved .