⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 get_s_cell.m

📁 用S-Matrix算法计算光栅衍射问题。
💻 M
字号:
function S = get_S_cell(pp,polarization)
include_globals
include_flags

II = eye(DIM);
if pp == -1
    Tuu = II;               Rud = zeros(DIM,DIM);
    Rdu = zeros(DIM,DIM);   Tdd = II;
    S = {Tuu,Rud;Rdu,Tdd};
else
    s_tilde = get_s_tilde(pp,polarization);
    tuu_tilde = cell2mat(s_tilde(1,1));     
    rud_tilde = cell2mat(s_tilde(1,2));
    rdu_tilde = cell2mat(s_tilde(2,1));     
    tdd_tilde = cell2mat(s_tilde(2,2));
    pre_S = get_S_cell(pp-1,polarization);
    Tuu_pre = cell2mat(pre_S(1,1));
    Rud_pre = cell2mat(pre_S(1,2));
    Rdu_pre = cell2mat(pre_S(2,1));
    Tdd_pre = cell2mat(pre_S(2,2));
    temp_inv1 = inv(II - Rud_pre*rdu_tilde);
    temp_inv2 = inv(II - rdu_tilde*Rud_pre);
    Tuu = tuu_tilde*temp_inv1*Tuu_pre;
    Rud = rud_tilde + tuu_tilde*Rud_pre*temp_inv2*tdd_tilde;
    Rdu = Rdu_pre + Tdd_pre*rdu_tilde*temp_inv1*Tuu_pre;
    Tdd = Tdd_pre*temp_inv2*tdd_tilde;
    S = {Tuu,Rud;Rdu,Tdd};
end
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -