summaryrefslogtreecommitdiff
path: root/examples/LGIplot.m
diff options
context:
space:
mode:
Diffstat (limited to 'examples/LGIplot.m')
-rw-r--r--examples/LGIplot.m37
1 files changed, 37 insertions, 0 deletions
diff --git a/examples/LGIplot.m b/examples/LGIplot.m
new file mode 100644
index 0000000..4ed244c
--- /dev/null
+++ b/examples/LGIplot.m
@@ -0,0 +1,37 @@
+% Illustrates the use of LaguerreGaussianE.m by plotting the
+% first 16 Laguerre-Gaussian modes (p,m)=([0:3],[0:3]).
+
+pnumbers=[0:3];
+mnumbers=[0:3];
+pmax=max(pnumbers);
+mmax=max(mnumbers);
+
+w=1;
+R=1e6;
+n=4;
+
+for p=0:pmax
+for m=0:mmax
+
+nrad=240;
+ntheta=240;
+rseed=linspace(0,sqrt(n*w),nrad).^2;
+thetaseed=linspace(0,360,ntheta)*pi/180;
+
+[theta,r]=meshgrid(thetaseed,rseed);
+
+[x,y]=pol2cart(theta,r);
+
+subplot(pmax+1,mmax+1,p*(mmax+1)+m+1)
+h=pcolor(x,y,abs(LaguerreGaussianE([p,m,q_(w,R),1e-6],r,theta,'pol')+LaguerreGaussianE([p,-m,q_(w,R),1e-6],r,theta,'pol')).^2);
+colormap('bone')
+set(gca,'Visible','off');
+set(gcf,'Color','black');
+shading interp;
+%figtext(4.3,-0.7,['(',num2str(p),',',num2str(m),')'],8);
+axis square
+hold off
+shg;
+
+end
+end \ No newline at end of file