📄 beam propagation.m
字号:
delta=0.01 ;
lamda=0.86 ;
npml=20 ;
delz=0.13;
nref=[3.24*ones(120,1);3.6*ones(20,1);3.24*ones(120,1)] ;
%plot(abs(V0(:,238)))
nsize=size(nref) ;
N=nsize(1) ;
ndia=eye(N,N) ;
[V0,d0,neff0] =fdmte(nref,delta,lamda,npml) ;
[pexp0,nexp0,s0]=ex(V0,d0,N,delz) ;
a0=V0(:,238) ;
nref=[1.85*ones(120,1);1.85*ones(20,1);1.85*ones(120,1)] ;
[V1,d1,neff1] =fdmte(nref,delta,lamda,npml) ;
[pexp1,nexp1,s1]=ex(V1,d1,N,delz/2);
nref=[1*ones(120,1);1*ones(20,1);1*ones(120,1)] ;
[V2,d2,neff2] =fdmte(nref,delta,lamda,npml) ;
[pexp2,nexp2,s2]=ex(V2,d2,N,delz);
m0=[[ndia ndia]; [s1\s0 (-s1\s0)]] ;
m2=[[ndia ndia]; [s1\s2 (-s1\s2)]] ;
m1=[[pexp1 nexp1]; [pexp1 (-nexp1)]] ;
m11=[[nexp1 pexp1]; [nexp1 (-pexp1)]] ;
m=m0\(m11*(m1\m2)) ;
a=m(1:N,1:N) ;
c=m(N+1:N+N,1:N) ;
a2=a\a0 ;
b0=c*a2 ;
pi=abs(a0'*s0*a0) ;
pr=abs(b0'*s0*b0)/abs(pi);
pt=abs(a2'*s2*a2)/abs(pi);
graph(:,1)=a2 ;
for i=2:50
graph(:,i)=pexp2*graph(:,i-1) ;
end
graph(:,50+1)=b0 ;
for i=50+2:200
graph(:,i)=pexp0*graph(:,i-1) ;
end
mesh(abs(graph));
view([0,90]) ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -