📄 neff_co.m
字号:
Neffco=zeros(10); % 初始化
for j=1:100
lamda=(1450+j)*10^(-9);
x1=1.450001;
x2=1.460001;
xacc=1e-8;
f=func(lamda,x1);
%%%%%%%%%%%%%%%%以下调用二分法求解func函数的零点,即求解纤芯基模的有效折射率
fmid=func(lamda,x2);
if (f<0)
rtb=x1;
dx=x2-x1;
else
rtb=x2;
dx=x1-x2;
end
for i=1:40
dx=dx*0.5;
xmid=rtb+dx;
fmid=func(lamda,xmid);
if(fmid<=0.0)
rtb=xmid;
end
if (abs(dx)<xacc||fmid==0.0)
break;
end
Neffco(j)=rtb; % matla 中的数组显示时是列优先的。即a[2]是第一列的第二个元素。
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
plot(lamda,Neffco(j));
hold on;
grid on;
end
hold off
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -