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');
Citation pour cette source
pratheeb N.P (2024). Laurrenge gaussian modes (https://www.mathworks.com/matlabcentral/fileexchange/71643-laurrenge-gaussian-modes), MATLAB Central File Exchange. Récupéré le .
Compatibilité avec les versions de MATLAB
Plateformes compatibles
Windows macOS LinuxCatégories
- MATLAB > Graphics > 2-D and 3-D Plots > Animation > Waves >
Tags
Remerciements
Inspiré par : hermite gaussian beam
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Découvrir Live Editor
Créez des scripts avec du code, des résultats et du texte formaté dans un même document exécutable.
Version | Publié le | Notes de version | |
---|---|---|---|
1.0.0 |
|