cut_sd.m
来自「利用电磁场的源激发方法来计算光子晶体波导例如光子晶体光纤」· M 代码 · 共 22 行
M
22 行
function sdPosOut = cut_sd(sdPos, x0, y0, ang, bAbove, bUpdateN)% cut-off all testing-points or sources other than the ones in the first 'ang' degree sectorsdPosOut = sdPos;if isempty(sdPos.vY) returnenddelta = mean(abs(diff(sdPos.vY)+ j*diff(sdPos.vX)))/10; % avoid a point on the sector edgeif ~bAbove delta = -delta*tan(ang);endvI = find(xor(~bAbove, sdPos.vY-tan(ang)*(sdPos.vX-x0) > y0 + delta));sdPosOut.vX = sdPos.vX(vI);sdPosOut.vY = sdPos.vY(vI);if isfield(sdPos, 'vNx') sdPosOut.vNx = sdPos.vNx(vI); sdPosOut.vNy = sdPos.vNy(vI);endif bUpdateN sdPosOut.n = length(sdPosOut.vX);else sdPosOut.n = sdPos.n;end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?