資源簡介
蒙特卡洛方法計算方程的數(shù)值解,得到本征值。在極坐標(biāo)中畫圖(光纖截面),得到場分布。分別對LP01,LP11,LP21,LP02模式進(jìn)行了計算。
代碼片段和文件信息
%%
%題目要求:
%計算SIOF的基模和高階模的本征值和光場分布圖
%計算TE?TM?EH?HE等精確模式
format?long;
clear;
clc;
%%
%Init
e0=8.8542e-10;
u0=4e-7*pi;
a?=?5e-6;
n1?=?1.451;
n2?=?1.442;
lamda?=?1.31e-6;
k0?=?2*pi/lamda;
Delta?=?(n1^2-n2^2)/2/(n1^2);%RI
U0?=?4*pi*10^-7;
E0?=?8.8542*10^-12;
p=0;
%%
%caculating?V
for?l=0:2
beta?=?linspace(k0*n2k0*n1100000);
U?=?a*?sqrt(k0^2?*?n1^2?-?beta.^2);
W?=?a?*?sqrt(beta.^2?-k0^2?*?n2^2);
V?=?k0?*?a?*?sqrt(n1^2?-?n2^2);
disp([‘V值是‘num2str(V)]);
%%
%蒙特卡洛方法計算微分方程的數(shù)值解
F?=?besselj(lU)./U./besselj(l+1U)-besselk(lW)./W./besselk(l+1W);
plus?=?F;
num?=?0;
for?i?=?1:100000-1
????%判斷過零點作為解
????isDownPassZero?=?(F(i)>0)&(F(i+1)<0);
????isUpPassZero?=?(F(i)<0)&(F(i+1)>0);
????isEqualZero?=?(F(i)==0);
????if(isDownPassZero?||?isUpPassZero?||?isEqualZe
- 上一篇:線性規(guī)劃大M法
- 下一篇:矩形波導(dǎo)matlab仿真
評論
共有 條評論