kvect2.m
来自「平面波法计算2D光子晶体的特性」· M 代码 · 共 17 行
M
17 行
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% diagonal matrices with elements (kx+Gx) si (ky+Gy); (kx,ky) are in the
%%% first Brillouin zone, (Gx,Gy) is a vector of the reciprocal lattice
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [kGx, kGy] = kvect2(kx,ky,b1,b2,N1,N2)
N=N1*N2;
No1=(N1-1)/2; No2=(N2-1)/2;
kGx=zeros(N1,N2); kGy=zeros(N1,N2);
for l=1:N1
for m=1:N2
kGx(m,l)=kx+(l-1-No1)*b1(1)+(m-1-No2)*b2(1);
kGy(m,l)=ky+(l-1-No1)*b1(2)+(m-1-No2)*b2(2);
end
end
kGx=diag(reshape(kGx,1,N)); kGy=diag(reshape(kGy,1,N));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?