📄 rectpixel.asv
字号:
%RectPixel.m
%Ref:Linfang Shen, Sailing He, and Sanshui Xiao, Large absolute band gaps
%in two-dimensional photonic crystals formed by large dielectric pixels,
%Physical Review B 66, 165315-1->-6 (2002)
clear;
clear global;
close all;
chn=3; %Half number of pixels in one cell
pw=1; %Width of pixel
cn=2*chn; %Number of pixles in one cell
cw=cn*pw; %Width of cell
ebxn=rand(cw);
HN=cw; %Half number of Fourier coefficients
N=2*HN+1;
fx=(-HN:HN);
fy=fx;
Mebxn=zeros(N^2,N^2,3);
FSrr=zeros(N,N,3);
FSrc=zeros(N,N,3);
FScr=zeros(N,N,3);
FScc=zeros(N,N,3);
FSr=zeros(N,N*N,3);
Fsc=zeros(N,N*N,3);
FS=zeros(N,2*N^2-1,3);
for flag=1:3
for n=0:-1:-2*HN
for m=0:-1:-2*HN
FSrr(1-n,1-m,flag)=ebxn_2D_FS(ebxn,pw,cw,m,n,flag);
end
for m=0:2*HN
FSrc(1-n,1+m,flag)=ebxn_2D_FS(ebxn,pw,cw,m,n,flag);
end
end
for n=2*HN:-1:0
for m=0:-1:-2*HN
FScr(n+1,1-m,flag)=ebxn_2D_FS(ebxn,pw,cw,m,n,flag);
end
for m=0:2*HN
FScc(n+1,1+m,flag)=ebxn_2D_FS(ebxn,pw,cw,m,n,flag);
end
end
for n=1:N
st=(n-1)*N+1;
ed=st+N-1;
FSr(:,st:ed,flag)=toeplitz(FSrc(n,:,flag),FSrr(n,:,flag));
FSc(:,st:ed,flag)=toeplitz(FScc(n,:,flag),FScr(n,:,flag));
end
FS(:,:,flag)=horz(FSc(:,1:N^2-1,flag),FSr(:,:,flag));
for n=1:N
st1=(n-1)*N+1;
ed1=st+N-1;
st2=2*HN*N+1-(n-1)*N;
ed2=st2+N^2-1;
Mebxn(st1:ed1,:,flag)=FS(:,st2:ed2,flag);
end
clear FSrr FSrc FScr FScc FSr FSc
disp('RectPixel ends');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -