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

📄 get_slab_field.m

📁 matlab例程
💻 M
字号:
function field_total=get_slab_field(h,n,n_eff)
global k0 lastlayer_num;
layer_num=length(h);
field=zeros(2,layer_num);
field(1,1)=1;
gamma=zeros(1,layer_num);
gamma=sqrt(n_eff^2*k0^2-n.^2*k0^2);
for t1=1:layer_num-1
   D=[gamma(t1+1)+gamma(t1) gamma(t1+1)-gamma(t1);gamma(t1+1)-gamma(t1) gamma(t1+1)+gamma(t1)]/(2*gamma(t1+1));
   E=[exp(gamma(t1+1)*h(t1+1)) 0;0 exp(-gamma(t1+1)*h(t1+1))];
   field(:,t1+1)=E*D*field(:,t1);
end
%field(1,layer_num-lastlayer_num+1:layer_num)=0;
field_total=[1 1]*field;

⌨️ 快捷键说明

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