weixin_47696437
2022-06-04 20:46
采纳率: 91.7%
浏览 75

布拉格光栅MATLAB反射谱仿真不会修改代码

问题遇到的现象和发生背景

matlab7.0

问题相关代码,请勿粘贴截图

function FBG_TransferMatix(n_eff,L,lambda_Brag)

%-------------变量定义-------------------------------
 
    % n_eff ----------------光栅有效折射率
    % L     ----------------光栅长度
    % lambda_Brag ----------光栅中心波长
    % kappa ----------------光波模式互耦合系数
    % delta ----------------模间失谐量
 
%----------------------------------------------------
disp('输入的参数如下');
disp('光栅有效折射率为:');disp(n_eff);
disp('布拉格光栅的中心波长为');disp(lambda_Brag);
disp('布拉格光栅的长度为:');disp(L)
lambda=1e-9*linspace(1308,1312,500);
kappa_L=5;
kappa=kappa_L/L;%交流耦合系数
F=[1 0;0 1];
for num=1:500
    f=tansmit_fiber(L,kappa,num,n_eff,lambda,lambda_Brag);
    f=f*F;
    r3(num)=f(2,1)/f(1,1);
    R3(num)=(abs(-r3(num)))^2;%反射率
end
subplot(2,1,1)
plot(lambda*1e9,R3,'r');
hold on
subplot(2,1,2)
plot(lambda*1e9,1-R3,'b')
hold on

end

?%传输矩阵的功能函数
function [f] =tansmit_fiber(L,kappa,num,n_eff,lambda,lambda_Brag)
?
delta(num)=2pi n_eff *(1./lambda(num)-1./lambda_Brag);
s(num)=sqrt(kappa.^2-delta(num).^2);
?
s11(num)=cosh(s(num)L)-i(delta(num)/s(num))*sinh(s(num)L);%w传输矩阵元
s12(num)=-i
(kappa/s(num))*sinh(s(num)L);
s21(num)=i
(kappa/s(num))*sinh(s(num)*L);
s22(num)=cosh(s(num)L)+i(delta(num)/s(num))*sinh(s(num)*L);
f=[s11(num) s12(num);s21(num) s22(num)];

end

运行结果及报错内容

要求出现

img

img

img

参考网址
https://www.renrendoc.com/paper/200567888.html
https://blog.csdn.net/qq_59747472/article/details/123156666

我的解答思路和尝试过的方法

不会修改

我想要达到的结果

运行

1条回答 默认 最新

相关推荐 更多相似问题