puthole.m

来自「外国人开发的电磁时域有限差分方法工具包 Electromagnetic Fin」· M 代码 · 共 32 行

M
32
字号
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;

⌨️ 快捷键说明

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