拉盖尔高斯光束-厄米高斯光束MATLAB仿真

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

激光原理by贾而穑130212114厄米高斯光束MATLAB仿真其中主程序文件:plotHermiteGaussianBeams.m子程序文件:HermitePoly.m程序如下:plotHermiteGaussianBeams.m%-------------------------------------------------------------------------%%auther:ErseJia%StudentID130212114%-------------------------------------------------------------------------%%%HermiteGaussianBeams%%SETPARAMETERS%Physicalparameterslambda=500;%nmk=2*pi/lambda;%Thetwoparametersforthegaussianbeam(andderivedquantities)z0=1;A0=1;W0=sqrt(lambda*z0/pi);W=@(z)W0*sqrt(1+(z/z0)^2);R=@(z)z*(1+(z/z0)^2);Zeta=@(z)atan(z/z0);%ThecoefficientsfortheHermite-Gaussian(HG)beamoforder(l,m)A=[1000;1100;0000;00.20];%DisplayParametersres=800;z=1e-9;x=linspace(-2*W(z),2*W(z),res);y=linspace(-2*W(z),2*W(z),res);[XY]=meshgrid(x,y);X=X(:);Y=Y(:);%%RUNTHESIMULATION%PreallocateMemoryU=zeros(length(X),1);Utemp=zeros(length(X),1);Utemp2=zeros(length(X),1);%CalculateValuesthatareindependentofHGPolynomialorderlpf=exp(-1i*k*z-1i*k*(X.^2+Y.^2)/(2*R(z)));%lateralphasefactoru=sqrt(2)*X/W(z);v=sqrt(2)*Y/W(z);forl=1:size(A,1)%ifthereareanytermsofthisorder,calculatethex-HG(soyoudon't%needtorepeatforeachvalueofmifsum(A(l,:)~=0)~=0Utemp2=(W0/W(z))*polyval(HermitePoly(l-1),u).*exp(-u.^2/2);elsecontinue;endform=1:size(A,2)ifA(l,m)~=0Utemp=Utemp2.*(polyval(HermitePoly(m-1),v)).*exp(-v.^2/2);Utemp=A(l,m)*Utemp.*lpf*exp(1i*(l+m+1)*Zeta(z));U=U+Utemp;endendend%%DRAWPLOTSfigure;U=reshape(U,res,res);imagesc(x,y,abs(U).^2);axissquare;set(1,'color','w');title('Hermite-GaussianBeamofOrder');xlabel('x(nm)');ylabel('y(nm)');HermitePoly.m%-------------------------------------------------------------------------%%HermitePoly.mbyErseJia%StudentID130212114%Givennonnegativeintegern,computethe%HermitepolynomialH_n.Returntheresultasavectorwhosemth%elementisthecoefficientofx^(n+1-m).%polyval(HermitePoly(n),x)evaluatesH_n(x).%-------------------------------------------------------------------------%functionhk=HermitePoly(n)ifn==0hk=1;elseifn==1hk=[20];elsehkm2=zeros(1,n+1);hkm2(n+1)=1;hkm1=zeros(1,n+1);hkm1(n)=2;fork=2:nhk=zeros(1,n+1);fore=n-k+1:2:nhk(e)=2*(hkm1(e+1)-(k-1)*hkm2(e));endhk(n+1)=-2*(k-1)*hkm2(n+1);ifknhkm2=hkm1;hkm1=hk;endendend结果:拉盖尔高斯光束MATLAB仿真主程序文件:DrawtheLaguerreGaussbeam.m子程序文件:LG.mDrawtheLaguerreGaussbeam.m%-------------------------------------------------------------------------%%auther:ErseJia%StudentID130212114%-------------------------------------------------------------------------%clearall;closeall;clcparams=[001];%Usefunctionhandleu0=@(rho,phi)LG(params,rho,phi);R=@(x,y)(x0)-(x=0);u=@(rho,phi)R(rho.*cos(phi),rho.*sin(phi)).*u0(rho,phi);[X,Y]=meshgrid(linspace(-5,5,200));Rho=sqrt(X.^2+Y.^2);Phi=atan(Y./X);figure(1)set(1,'color','w');Z=u(Rho,Phi);surf(X,Y,-Z)shadinginterpset(gca,'box','on');gridoff;xlabel('xposition');ylabel('yposition');zlabel('z');colorbar;LG.mfunctiony=LG(params,rho,phi)m=abs(params(1));p=params(2);w=params(3);ifw==0msgbox('params(0)cannotbeequalto0');endt=rho./w;y=sqrt(2*factorial(p)/pi/factorial(m+p))/w.*(sqrt(2).*t).^m....*L([pm],2*t.^2).*exp(-t.^2+1i*m*phi);functiony=L(params,x)fact=@(x)arrayfun(@factorial,x);n=params(1);%pk=params(2);%mm=0:n;a=factorial(n+k)*ones(1,length(m));b=fact(n-m);c=fact(k+m);d=fact(m);e=(-1).^m;y=zeros(size(x));fors=1:n+1y=y+a(s)./b(s)./c(s)./d(s).*e(s).*x.^m(s);endendend结果:

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功