function [center,down,upper,left,right] = getNmbr(i,j,tag,nmbr)
switch tag
case inf
center = 0;
upper = 0; down = 0;
left = 0; right = 0;
case 0 % for non-boundary nodes
center = nmbr(i,j); % get node increamental number
down = nmbr(i-1,j); upper = nmbr(i+1,j); % get four index neiboring to center node
left = nmbr(i,j-1); right = nmbr(i,j+1);
case 1 % edge nodes NOW (excluding corner nodes)
center = nmbr(i,j);
upper = nmbr(i+1,j); down = 0;
left = nmbr(i,j-1); right = nmbr(i,j+1);
case 2
center = nmbr(i,j);
down = nmbr(i-1,j); upper = 0;
left = nmbr(i,j-1); right = nmbr(i,j+1);
case 3
center = nmbr(i,j);
down = nmbr(i-1,j); upper = nmbr(i+1,j);
right = nmbr(i,j+1); left = 0;
case 4
center = nmbr(i,j);
down = nmbr(i-1,j); upper = nmbr(i+1,j);
left = nmbr(i,j-1); right = 0;
case 5
center = nmbr(i,j);
down = nmbr(i-1,j); upper = nmbr(i+1,j);
right = nmbr(i,j+1); left = 0;
case 6
center = nmbr(i,j);
down = nmbr(i-1,j); upper = nmbr(i+1,j);
left = nmbr(i,j-1); right = 0;
case 7 % corner nodes NOW
center = nmbr(i,j);
upper = nmbr(i+1,j); down = 0;
right = nmbr(i,j+1); left = 0;
case 8
center = nmbr(i,j);
down = nmbr(i-1,j); upper = 0;
right = nmbr(i,j+1); left = 0;
case 9
center = nmbr(i,j);
down = nmbr(i-1,j); upper = 0;
left = nmbr(i,j-1); right = 0;
case 10
center = nmbr(i,j);
upper = nmbr(i+1,j); down = 0;
left = nmbr(i,j-1); right = 0;
otherwise
error('I dont know how to do then if there is an error here...');
end
end
discontinuityWaveguide.zip_FDTD transmission_MATLAB movie_matlab
版权申诉
19 浏览量
2022-07-15
02:45:47
上传
评论
收藏 6KB ZIP 举报
我虽横行却不霸道
- 粉丝: 75
- 资源: 1万+
评论0