www.gusucode.com > FDTD计算二维光子带隙的程序 > FDTD计算二维光子带隙的程序/247787/PutHole.m
function G=PutHole(F,x,y,r,Hole) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Electromagnetic Finite-Difference Time-Domain % % Version 1.20, Release 1 % % % % (C) Copyright 2005 % % Sharif University of Technology % % School of Electrical Engineering % % All Rights Reserved % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% global xCnt yCnt Cnt r=r*Cnt; s=size(F); sx=s(1); sy=s(2); lx = max(1,round(x-r)); ux = min(min(xCnt,sx),round(x+r)); ly = max(1,round(y-r)); uy = min(min(yCnt,sy),round(y+r)); for c1 = lx:ux for c2 = ly:uy if ((c1-x)^2+(c2-y)^2<r^2), F(c1,c2) = Hole; end end end G=F;