📄 calc_index.m
字号:
function [Index] = calc_index(B,field,R,k0)
format long
clf
hold on
for nn=1:length(B)
U=field(nn,:);
j=0;sum=0;
num=length(U);
for i=2:num-1
j=j+1;
Field(j)=U(i);
dr(j)=R(i)-R(i-1);
sum=sum+dr(j);
r(j)=sum;
end
num1=length(r);
for s=2:num1-1
as(s)=(dr(s))^-2-1/(2*r(s)*dr(s));
cs(s)=(dr(s))^-2+1/(2*r(s)*dr(s));
bs(s)=((B(nn))^2*Field(s)-cs(s)*Field(s+1)-as(s)*Field(s-1))/Field(s);
end
as(1)=(dr(1))^-2-1/(2*r(1)*dr(1)); cs(1)=(dr(1))^-2+1/(2*r(1)*dr(1));
as(num1)=(dr(num1))^-2-1/(2*r(num1)*dr(num1)); cs(num1)=(dr(num1))^-2+1/(2*r(num1)*dr(num1));
bs(1)=(B(nn))^2*Field(1)-cs(1)*Field(2)-as(1)*U(1);
bs(num1)=(B(nn))^2*Field(num1)-cs(num1)*U(num)-as(num1)*Field(num1-1);
in=sqrt((bs+2./(dr.^2))./k0^2);
% index(1)=in(1);index(num)=in(num1)
% for ss=1:num1
% index(ss+1)=in(ss);
% end
Index(nn,:)=in;
plot(r(2:num1-1),in(2:num1-1));
end
hold off
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -