capture_sampled_currents.m
来自「The Finite Difference Time Domain Method」· M 代码 · 共 37 行
M
37 行
% Capturing sampled currents
for ind=1:number_of_sampled_currents
is = sampled_currents(ind).is;
js = sampled_currents(ind).js;
ks = sampled_currents(ind).ks;
ie = sampled_currents(ind).ie;
je = sampled_currents(ind).je;
ke = sampled_currents(ind).ke;
switch (sampled_currents(ind).direction(1))
case 'x'
sampled_value = ...
+ dy * sum(sum(sum(Hy(ie-1,js:je,ks-1)))) ...
+ dz * sum(sum(sum(Hz(ie-1,je,ks:ke))))...
- dy * sum(sum(sum(Hy(ie-1,js:je,ke))))...
- dz * sum(sum(sum(Hz(ie-1,js-1,ks:ke))));
case 'y'
sampled_value = ...
+ dz * sum(sum(sum(Hz(is-1,je-1,ks:ke)))) ...
+ dx * sum(sum(sum(Hx(is:ie,je-1,ke))))...
- dz * sum(sum(sum(Hz(ie,je-1,ks:ke))))...
- dx * sum(sum(sum(Hx(is:ie,je-1,ks-1))));
case 'z'
sampled_value = ...
+ dx * sum(sum(sum(Hx(is:ie,js-1,ke-1)))) ...
+ dy * sum(sum(sum(Hy(ie,js:je,ke-1))))...
- dx * sum(sum(sum(Hx(is:ie,je,ke-1))))...
- dy * sum(sum(sum(Hy(is-1,js:je,ke-1))));
end
if strcmp(sampled_currents(ind).direction(2),'n')
sampled_value = -1 * sampled_value;
end
sampled_currents(ind).sampled_value(time_step) = sampled_value;
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?