entryp.m
来自「非连续波导时间域有限差分法仿真(TD-FDM)」· M 代码 · 共 56 行
M
56 行
% generate every entry for matrix P
%function entryP(i,j,tag,nmbr,a,b,c)
[center,down,upper,left,right] = getNmbr(i,j,tag,nmbr);
switch tag
case inf
% do nothing
case 0 % for non-boundary nodes
P(center,center) = c;
P(center,down) = b; P(center,upper) = b;
P(center,left) = a; P(center,right) = a;
case 1 % edge nodes NOW (excluding corner nodes)
P(center,center) = c;
P(center,upper) = 2*b;
P(center,left) = a; P(center,right) = a;
case 2
P(center,center) = c;
P(center,down) = 2*b;
P(center,left) = a; P(center,right) = a;
case 3
P(center,center) = c;
P(center,down) = b; P(center,upper) = b;
P(center,right) = 2*a;
case 4
P(center,center) = c;
P(center,down) = b; P(center,upper) = b;
P(center,left) = 2*a;
case 5
P(center,center) = c;
P(center,down) = b; P(center,upper) = b;
P(center,right) = 2*a;
case 6
P(center,center) = c;
P(center,down) = b; P(center,upper) = b;
P(center,left) = 2*a;
case 7 % corner nodes NOW
P(center,center) = c;
P(center,upper) = 2*b;
P(center,right) = 2*a;
case 8
P(center,center) = c;
P(center,down) = 2*b;
P(center,right) = 2*a;
case 9
P(center,center) = c;
P(center,down) = 2*b;
P(center,left) = 2*a;
case 10
P(center,center) = c;
P(center,upper) = 2*b;
P(center,left) = 2*a;
otherwise
error('I dont know how to do then if there is an error here...');
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?