📄 mtl_sm_spr.m
字号:
%此程序是解决一维S(TE)极化的散射矩阵方法计算表面等离子体反射、透射率
SP='P';%SP等于S是S极化,否则是P极化
lambda=1.55;
n_Ag=0.17861+lambda*(0.0591+lambda*0.05859)+1i*(-0.19444+lambda*7.33428);
epcilon=[1.45,n_Ag,1.6,1.45,1].^2; %每层介质的介电常数
d=[0,0.03,1.0,100,0]; %每层介质的厚度
M=length(epcilon);
mu(1:M)=1; %每层介质的磁导率
if SP=='S'
et=mu;
else if SP=='P'
et=epcilon;
else
'SP is wrong! SP is must S or P!';
return;
end
end
k0=2*pi/lambda;
k02=k0*k0;
for jt=1:1001
theta_DGR(jt)=70+jt*0.01;
theta_in=theta_DGR(jt)/180*pi; %入射光与法线的夹角
sin_in=sin(theta_in);
ab=zeros(2,M);
kx=sqrt(epcilon(1)*mu(1))*sin_in*k0;
kz=sqrt(epcilon.*mu*k02-kx.*kx);
k_et=kz./et;
S=[0,1;1,0];
for j=1:M-1
St=[-1,1;k_et(j),k_et(j+1)]\[1,-1;k_et(j),k_et(j+1)];
exp_kd=exp(i*kz(j+1)*d(j+1));
St=[St(1,1),St(1,2)*exp_kd;exp_kd*St(2,1),exp_kd*St(2,2)*exp_kd];
U=inv([1,-S(2,2);-St(1,1),1]);
S=[S(1,1)+S(1,2)*U(2,1)*S(2,1),S(1,2)*U(2,2)*St(1,2);St(2,1)*U(1,1)*S(2,1),St(2,2)+St(2,1)*U(1,2)*St(1,2)];
%S=D1_hb_scatter(S,St);
end
b_re=S(1,1);
a_t=S(2,1);
Spz_out=real(kz(M)/et(M)*a_t*conj(a_t));
Spz_in=real(kz(1)/et(1));
Spz_re=real(kz(1)/et(1)*b_re*conj(b_re));
r(jt)=b_re;
t(jt)=a_t;
R(jt)=Spz_re/Spz_in;
T(jt)=Spz_out/Spz_in;
end
plot(theta_DGR,R)
xlabel('Incident angle (^o)');
ylabel('Reflectance');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -