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

📄 line_n.m

📁 模拟n束光束的干涉图像。可以是任意多束。偏振方向可以自己选取
💻 M
字号:
%求解N束线偏振光束干涉图样。
clear
lamda=0.6328;
N=4;
phi=pi*[0;39/180;39/180;39/180];%极角:z轴到波矢量的夹角
theta=pi*[0;1;1/3;-1/3];%方向角从x轴到波矢量的夹角

%ex=[sin(phi+pi/2).*cos(theta),sin(phi+pi/2).*sin(theta),cos(phi+pi/2)];%x'坐标在波矢量与坐标z所组成的平面内,与z'垂直,并且偏向z轴的负方向
cos_phi=cos(phi);
sin_phi=sin(phi);
cos_theta=cos(theta);
sin_theta=sin(theta);
ex=[cos_phi.*cos_theta,cos_phi.*sin_theta,-sin_phi];

%ey=[cos(theta+pi/2),sin(theta+pi/2),[0;0;0;0]];%y'与x',z'构成右手螺旋坐标系
ey=[-sin_theta,cos_theta,[0;0;0;0]];
beta=pi*[0;1;1/3;-1/3];%偏振方向与x'坐标的夹角为beta

cos_beta=cos(beta);
sin_beta=sin(beta);
%e=ex.*cos(beta)+ey.*sin(beta);%偏振方向矢量
e=zeros(4,3);
for i=1:N
    e(i,:)=e(i,:)+ex(i,:)*cos_beta(i)+ey(i,:)*sin_beta(i);
end
 
E=[1;1;1;1];%入射光束的振幅
delta=[0;0;0;0];%出相位

k=2*pi/lamda*[sin_phi.*cos_theta,sin_phi.*sin_theta,cos_phi];%波矢量的方向与坐标z'的方向相同

%清除不用的变量
clear phi theta cos_phi sin_phi cos_theta sin_theta ex ey beta sin_beta cos_beta

t=-2:0.02:2;
[dim length]=size(t);
[x y z]=meshgrid(t*lamda);
I=zeros(length,length,length);
for i=1:N
    I=I+E(i,1)*E(i,1);
    for j=i+1:N
        Eij=E(i,1)*E(j,1)*sum(e(i,:).*e(j,:));
        temp=(k(j,1)-k(i,1))*x+(k(j,2)-k(i,2))*y+(k(j,3)-k(i,3))*z+delta(j,1)-delta(i,1);
        I=I+Eij*cos(temp);
    end
end
clear temp Eij
I=I/max(max(max(I)));


figure(1)
imshow(I(:,:,1));

⌨️ 快捷键说明

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