📄 get_w.m
字号:
function W = get_W(pp,qq,polarization)
include_globals
include_flags
pp = pp + 1; % because the indice begin from 1 in matlab, not 0
qq = qq + 1;
for mm = (-N+(N+1)):1:(N+(N+1))
for nn = (-N+(N+1)):1:(N+(N+1))
Lmn_plus(mm,nn) = 1i^(mm-nn)*exp(1i*beta_b(pp,nn)*corrugation_h(qq)/2)*besselj(mm-nn,-beta_b(pp,nn)*corrugation_h(qq)/2);
end
end
for mm = (-N+(N+1)):1:(N+(N+1))
for nn = (-N+(N+1)):1:(N+(N+1))
Lmn_minus(mm,nn) = 1i^(mm-nn)*exp(-1i*beta_b(pp,nn)*corrugation_h(qq)/2)*besselj(mm-nn,beta_b(pp,nn)*corrugation_h(qq)/2);
end
end
temp_W11 = Lmn_plus;
temp_W12 = Lmn_minus;
coe_W = [ ];
for nn = (-N+(N+1)):1:(N+(N+1))
coe_W(:,nn) = ones((2*N+1),1)*beta_b(pp,nn);
end
if (polarization == TE)
coe_W = -miu_u(pp)*coe_W;
elseif (polarization == TM)
coe_W = epsilon_e(pp)*coe_W;
end
temp_W21 = ((propagation_k(pp)^2 - alpha_a'*alpha_a)./coe_W).*Lmn_plus;
temp_W22 = -((propagation_k(pp)^2 - alpha_a'*alpha_a)./coe_W).*Lmn_minus;
temp_Mat = {temp_W11,temp_W12;temp_W21,temp_W22};
W = cell2mat(temp_Mat);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -