?內(nèi)容介紹
此代碼用于進(jìn)行化學(xué)光學(xué)的計算機(jī)仿真。
其主要功能為:
(1)動態(tài)模擬電磁波在空間中的傳播;
(2)對菲涅爾公式進(jìn)行剖析(主要是勾畫反/透射系數(shù)、反/透射率、全反射時的相位躍變隨入射角變化而變化的圖象);
(3)對不同種類的材料進(jìn)行柯西公式擬合,勾畫色散曲線圖;
?代碼
(n1,n2)
基于模擬菲涅爾公式%{
此函數(shù)用于勾畫反射系數(shù)(rs,rp)/透射系數(shù)(ts,tp)隨入射角變化而變化的圖象
功能:
輸入界面兩邊介質(zhì)折射率來勾畫ts、tp、rs、tp隨入射角變化的圖象;并在相應(yīng)位置
標(biāo)明半波損失、布儒斯特角、臨界角等關(guān)鍵量
理量:
n1、n2:界面兩邊介質(zhì)折射率
theta:入射角;
:布儒斯特角;
:臨界角;
rs:s波反射系數(shù);
rp:p波反射系數(shù);
ts:s波透射系數(shù);
tp:p波透射系數(shù);
%}
%%清除窗口:
closeall;
n1=1;
n2=1.5;
%%初始數(shù)據(jù):
theta=0:0.1:90;%設(shè)置入射角范圍0-90度
a=theta*pi/180;%角度轉(zhuǎn)化為弧度
[~,n]=size(a);%估算矩陣a大小以便循環(huán)
%%反射系數(shù)與透射系數(shù)公式輸入:
%首先判定光從波疏介質(zhì)射向昌都介質(zhì)還是從當(dāng)雄介質(zhì)射向波疏介質(zhì):
ifn1
%若從波疏介質(zhì)射往昌都介質(zhì)全反射臨界角公式,其反射與透射系數(shù)仍然為實數(shù):
rs=(n1*cos(a)-n2*sqrt(1-(n1/n2*sin(a)).^2))./(n1*cos(a)+n2*sqrt(1-(n1/...
n2*sin(a)).^2));%s波反射系數(shù)
rp=(n2*cos(a)-n1*sqrt(1-(n1/n2*sin(a)).^2))./(n2*cos(a)+n1*sqrt(1-(n1/...
n2*sin(a)).^2));%p波反射系數(shù)
ts=2*n1*cos(a)./(n1*cos(a)+n2*sqrt(1-(n1/n2*sin(a)).^2));%s波透射系數(shù)
tp=2*n1*cos(a)./(n2*cos(a)+n1*sqrt(1-(n1/n2*sin(a)).^2));%p波透射系數(shù)
elseifn1>n2
%若從當(dāng)雄介質(zhì)射往波疏介質(zhì),需將其分段:
C=asin(n2/n1);%估算臨界角
=C*180/pi;%弧度轉(zhuǎn)化為角度
fori=1:n
ifa(i)
%當(dāng)入射角大于臨界角,為實數(shù):
rs(i)=(n1*cos(a(i))-n2*sqrt(1-(n1/n2*sin(a(i))).^2))./(n1*cos(a(i))+n2*sqrt(1-(n1/...
n2*sin(a(i))).^2));%s波反射系數(shù)
rp(i)=(n2*cos(a(i))-n1*sqrt(1-(n1/n2*sin(a(i))).^2))./(n2*cos(a(i))+n1*sqrt(1-(n1/...
n2*sin(a(i))).^2));%p波反射系數(shù)
ts(i)=2*n1*cos(a(i))./(n1*cos(a(i))+n2*sqrt(1-(n1/n2*sin(a(i))).^2));%s波透射系數(shù)
tp(i)=2*n1*cos(a(i))./(n2*cos(a(i))+n1*sqrt(1-(n1/n2*sin(a(i))).^2));%p波透射系數(shù)
else
%當(dāng)入射角大于臨界角,需估算其模值:
rs(i)=1;
rp(i)=1;
ts(i)=2*n1;
tp(i)=2*n1;
end
end
end
end
%%圖象勾畫:
plot(theta,rs,theta,rp,theta,ts,theta,tp,'',1);
axis([090-11]);%設(shè)置區(qū)間
title(['入射/透射系數(shù)隨入射角的變化;','n_1=',(n1),',n_2=',(n2)]);
('');
('');
('r_s','r_p','t_s','t_p');
%%布儒斯特角的標(biāo)明:
B=atan(n2/n1);%求解布儒斯特角
=B*180/pi;%角度轉(zhuǎn)化為弧度
line([,],[-1,0],'color','black','','--',...
'',0.01,'','off')
line([0,90],[0,0],'color','black','','--','',0.01,...
'','off')%勾畫兩條直線對布儒斯特角的位置定標(biāo)
text(,-1,'');%在x座標(biāo)軸上標(biāo)注布儒斯特角
%%對半波損失/臨界角進(jìn)行標(biāo)明:
%首先判定光從波疏介質(zhì)射向昌都介質(zhì)還是從當(dāng)雄介質(zhì)射向波疏介質(zhì):
ifn1
%若從波疏介質(zhì)射往昌都介質(zhì),則將發(fā)生半波損失,將其標(biāo)明在[0,0]處
text(0,0,'Half-waveLoss','',15);
elseifn1>n2
%若從當(dāng)雄介質(zhì)射往波疏介質(zhì)全反射臨界角公式,則將發(fā)生全反射現(xiàn)象,下邊對其進(jìn)行標(biāo)明:
axis([090-12*n1]);%重新選擇畫圖區(qū)間
C=asin(n2/n1);%估算臨界角
=C*180/pi;%弧度轉(zhuǎn)化為角度
line([0,90],[1,1],'color','black','','--','',...
0.01,'','off')%勾畫兩條直線對臨界角的位置定標(biāo)
line([,],[-1,2*n1],'color','black','',...
'--','',0.01,'','off')
text(,-1,'');%在x座標(biāo)軸上標(biāo)注臨界角
line([0,],[2*n2,2*n2],'color','black','','--',...
'',0.01,'','off')%定標(biāo)ts模值
end
end
end
?運行結(jié)果
?參考文獻(xiàn)
[1]王莉,楊會靜,段芳芳.用模擬菲涅耳直邊衍射[J].天津師范大學(xué)學(xué)報,2008,30(005):131-132.
[2]王艷.菲涅耳圓屏衍射的模擬[J].大同大學(xué)學(xué)報,2021,38(5):6.
[3]仲志國,李碩,李婧,等.基于的菲涅爾直邊衍射仿真與GUI設(shè)計[J].河南師范大學(xué)學(xué)報,2012,11(12):3.
??代碼獲取關(guān)注我??部份理論引用網(wǎng)路文獻(xiàn),若有侵權(quán)聯(lián)系博主刪掉??關(guān)注我發(fā)放海量電子書和物理建模資料