⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 collins_diffraction.m

📁 激光扩束准直程序
💻 M
字号:
tic
clear;
lambda=0.0004;%波长单位mm
theater0=0.00035;%高斯光束发散角单位rad
w0=lambda/pi/theater0;
A0=250;
A=-50;
B=-9802;
D=-0.02;
L=704;%ABCD光学系统光轴上光程
nx=50;%观察平面上分100个点
ny=50;
nx1=50;%将束腰分成100个点
ny1=50;
r1=0.5;%单位mm
r2=100;%观察圆面半径单位mm
x0=linspace(-r1,r1,nx1);%束腰平面上的点
y0=linspace(-r1,r1,ny1);
x00=linspace(-r2,r2,nx);%观察平面上的点
y00=linspace(-r2,r2,ny);
[X00,Y00]=meshgrid(x00,y00);
        for m1=1:nx
            for n1=1:ny
                a=0;
                b=0;
                for m11=1:nx1
                    for n11=1:ny1
                    x=-r1+(2.*m11-1)./nx1.*r1;
                    y=-r1+(2.*n11-1)./ny1.*r1;
                    e(m11,n11)=pi.*r1.^2./nx1./ny1.*exp((-(x.^2+y.^2))./w0./w0+i.*pi.*A./lambda./B.*(x.^2+y.^2)+i.*2.*pi./B./lambda.*(x.*x00(m1)+y.*y00(n1)));
                    end 
                end
                    a=real(e)+a;
                    b=imag(e)+b;
                    u=(a+i.*b).*A0./w0.*(-i)./lambda./B.*exp(i.*2.*pi./lambda.*L).*exp(i.*pi.*D./B.*(X00.^2+Y00.^2));
                    G=(real(u).^2+imag(u).^2)*10*30;
            end            
        end 
        surf(X00,Y00,G);
        xlabel('X(mm)','fontsize',12);
        ylabel('Y(mm)','fontsize',12);
        zlabel('Relative intensity','fontsize',12);
        toc



        

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -