logo资料库

利用matlab画出高阶拉盖尔高斯光束和高阶厄米光束.docx

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
作业一: 利用matlab画出高阶拉盖尔高斯光束和高阶厄米光束 1.1 拉盖尔多项式为:()==0 2() 达式为:,, = 同样取2 =1 (+)!(−) +!! −! 222()− 2() 省略常数因子时,高阶高斯光束在垂直于光轴的横截面上振幅的表 代码: %被调用的函数 function L=L(p,l,x) L=0; for k=0:p L=L+factorial(p+l)*(-x).^(k)/(factorial(l+k)*fa ctorial(k)*factorial(p-k)); %拉盖尔多项式 end %调用的函数 function Laguerre(p,l) r=0:0.1:5; %取值范围 phai=0:0.01:3*pi; [r,phai]=meshgrid(r,phai); x=r.*cos(phai); y=r.*sin(phai); if l~=0 A=(sqrt(2)*r).^(l).*L(p,l,2*r.^(2)).*exp(-r.^(2)
).*sin(l*phai); else A=(sqrt(2)*r).^(l).*L(p,l,2*r.^(2)).*exp(-r.^(2) ).*cos(l*phai); end mesh(x,y,z); 运行结果: 输入(2,2) %画图 1.2 (/2) −1 ! 厄米多项式为: = =0 ! −2!(2)−2 A=exp− 22() 22() 22() 高阶高斯光束在垂直于光轴的横截面上场振幅或光强的分布为
取2 =1 代码: function Hm=Hm(m,x) %被调用的厄米多项式 Hm=0; for k=0:floor(m/2) %向下取整 Hm=Hm+(-1)^(k)*factorial(m)*(2*x).^(m-2*k)/(fac torial(k)*factorial(m-2*k)); %厄米多项式 end function Hermite(m,n) %调用厄米多项式 x=-2.5:0.1:2.5; %取区间 y=-2.5:0.1:2.5; [x,y]=meshgrid(x,y);%网格 z=exp(-(x.^2+y.^2)).*H(m,sqrt(2)*x).*H(n,sqrt(2) *y); %振幅 surfc(x,y,z); %画带有等高线的振幅图象 运行结果 输入(2,2)
分享到:
收藏