bragg_runge4.m

来自「光纤光栅的反射谱 包含两段代码 在MATLAB中仿真」· M 代码 · 共 41 行

M
41
字号
clear
format long

global delta Neff delta_neff_average tlamda Pg Pe epsrate

epsrate=1.0e-10;

Pe=0.220;

L=4e+6; % 4mm

Neff=1.45;
lamda_b=1550;
Pg=lamda_b/(2*Neff);
delta_neff_average=2e-4;
lamda=(1548:0.01:1552);
Mlamda=length(lamda);
step=lamda(2)-lamda(1);

zspan=[L,0];
rz0=0;
opts=odeset('reltol',1.0e-6);

for ilam=1:Mlamda
    
fprintf(1,'ilam= %d \n',ilam); 
 
lamda(ilam)=lamda(1)+(ilam-1)*step;

tlamda=lamda(ilam);

delta=2.0*pi*Neff*(1.0/lamda(ilam)-1.0/lamda_b);
  
[z,r]=ode45('drdz',zspan,rz0,opts);

rr(ilam)=r(end);

refl(ilam,1)=lamda(ilam);
refl(ilam,2)=abs(rr(ilam))^2;

end

⌨️ 快捷键说明

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