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

📄 zheda2.m

📁 本程序介绍了二维全息光子晶体
💻 M
字号:
function[a,b,gamma,theta,phi]=pattern
clear
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%Sealingarea
lambda=0.514;
%The wavelength of the beam
N=2;
%The number of beams
%The intensity of the beam
I=zeros(1,N);
I=ones(1,N);
Itot=sum(I);
%Hence,theamplitude15
E=sqrt(I);
Theta=pi/6;
Phi=zeros(1,N);
for m=1:N
    Phi(m)=2.*pi*(m-1)/N;
end


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%The Polarization
%orientation angle
delta=zeros(1,N);
theta=zeros(1,N);
theta(:)=Theta;
phi=zeros(1,N);
phi=Phi;
psi=zeros(1,N);
psi(:)=pi/2;
chi=zeros(1,N);
d=2;
num=200;
x=linspace(-d,d,num);
y=linspace(-d,d,num);
for i=1:num
  for j=1:num
r(:,i,j)=[x(j),y(i),0];
  end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%
k=2.*pi/lambda;
for m=1:N
K(m,:)=k*[cos(Phi(m)).*sin(theta(m)),sin(Phi(m)).*sin(theta(m)),cos(theta(m))];
J(:,m)=[cos(psi(m))*cos(chi(m)),sin(psi(m))*cos(chi(m)),0]'+...
sqrt(-1)*[-sin(psi(m))*sin(chi(m)),cos(psi(m))*sin(chi(m)),0]';
R(:,:,m)=[cos(Phi(m))*cos(theta(m)),-sin(Phi(m)),cos(Phi(m)*sin(theta(m)));
sin(Phi(m))*cos(theta(m)),cos(Phi(m)),sin(Phi(m)*sin(theta(m)));
-sin(theta(m)),0,cos(theta(m))];
e(:,m)=R(:,:,m)*J(:,m);
end

for i=1:num
 for j=1:num
temp=0;
lm=1; %The index
for l=1:N-1
  for m=l+1:N
G(lm,:)=K(l,:)-K(m,:);
delta(lm)=delta(l)-delta(m);
V(lm)=2.*E(l)*E(m)*real(conj(e(:,l))'*e(:,m))/Itot;
W(lm)=-2.*E(l)*E(m)*imag(conj(e(:,l))'*e(:,m))/Itot;
temp=temp+V(lm)*cos(G(lm,:)*r(:,i,j)+delta(lm))...
+W(lm)*sin(G(lm,:)*r(:,i,j)+delta(lm));
lm=lm+l;
  end
end
Iout(i,j)=1+temp;
  end
end
figure;
axis equal;
title('N=6');
imshow(Iout/max(max(Iout)),[0,1])

⌨️ 快捷键说明

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