目录
案例1:光疏到光密介质
案例2:光密到光疏介质
案例1:光疏到光密介质
平面光波从空气(折射率为)入射到石英玻璃中(折射率为),用 MATLAB作出p、s分量的振幅反射率和振幅透射率以及它们的绝对值随入射角度的变化曲线。
MATLAB代码:
在 MATLAB中分别调用平面光波的电矢量平行入射面的情况下的菲涅尔公式,该情况也常常被称为TE波或者p-偏振入射:
再调用平面光波的电矢量垂直入射面的情况下的菲涅尔公式,该情况也常常被称为TM波或者s-偏振入射:
计算出它们的绝对值,然后作图即可。
MATLAB代码如下:
clear; %清空内存空间
close all; %关闭所有的作图页面
n1 = 1; n2 = 1.45; %介质折射率
theta=0:0.1:90; %入射角范围0—90度,步距0.1度
a=theta*pi/180; %角度化为弧度
rp = (n2*cos(a)-n1*sqrt(1-(n1/n2*sin(a)).^2))./... %p分量振幅反射率(n2*cos(a)+n1*sqrt(1-(n1/n2*sin(a)).^2));
rs = (n1*cos(a)-n2*sqrt(1-(n1/n2*sin(a)).^2))./... %s分量振幅反射率(n1*cos(a)+n2*sqrt(1-(n1/n2*sin(a)).^2));
tp = 2*n1*cos(a)./(n2*cos(a)+n1*sqrt(1-(n1/n2*sin(a)).^2)); %p分量振幅透射率
ts = 2*n1*cos(a)./(n1*cos(a)+n2*sqrt(1-(n1/n2*sin(a)).^2)); %s分量振幅透射率
figure(1);
subplot(1,2,1); %作图rp、rs、|rpl、|rs|随入射角的变化曲线
plot(theta,rp,' -',theta,rs,'--',theta,abs(rp),':',....theta,abs (rs) , ' -.' ,'LineWidth',2)
legend('r_p','r_s','|r_p|','|r_s|')
xlabel('\theta_i');
ylabel('Amplitude');
title( ['n_1=',num2str(n1),', n_2=',num2str(n2)]);
axis([0 90 -1 1]) %设定作图区间
grid on; %作图加栅格
subplot(1,2,2); %作图rp、rs、|rp|、|rs|随入射角的变化曲线
plot (theta,tp,'-' ,theta,ts,'--',theta,abs(tp),':',...theta,abs (ts) , '-.' ,'LineWidth',2)
legend('t_p','t_s','|t_pl','|t_s|');
xlabel('\theta_i');
ylabel('Amplitude');
title (['n_1=',num2str(n1),', n_2=', num2str(n2)]);
axis([0 90 0 1]);
grid on;
结果:
源代码下载地址:菲涅尔公式MATLAB作图:振幅反射率和振幅透射率随入射角度的变化曲线资源-CSDN文库
案例2:光密到光疏介质
平面光波从石英玻璃(折射率为)入射到空气中(折射率为),用 MATLAB作出p、s分量的振幅反射率和振幅透射率以及它们的绝对值随入射角度的变化曲线。
MATLAB代码:
将上述代码中的和数值改动一下,调整一下图形的y轴范围,重新作图,代码如下:
clear %清空内存空间
close all %关闭所有的作图页面n1 = 1.45; n2 = 1; %介质折射率
theta = 0:0.1:90; %入射角范围0-90度,步距0.1度
a = theta*pi/180; %角度化为弧度rp = (n2*cos(a)-n1*sqrt(1-(n1/n2*sin(a)).^2))./... %p分量振幅反射率(n2*cos(a)+n1*sqrt(1-(n1/n2*sin(a)).^2));
rs = (n1*cos(a)-n2*sqrt(1-(n1/n2*sin(a)).^2))./... %s分量振幅反射率(n1*cos(a)+n2*sqrt(1-(n1/n2*sin(a)).^2));
tp = 2*n1*cos(a)./(n2*cos(a)+n1*sqrt(1-(n1/n2*sin(a)).^2));%p分量振幅透射率
ts = 2*n1*cos(a)./(n1*cos(a)+n2*sqrt(1-(n1/n2*sin(a)).^2));%s分量振幅透射率figure(1);
subplot(1,2,1); %作图rp、rs、|rp|、|rs|随入射角的变化曲线
plot(theta,rp,'-',theta,rs,'--',theta,abs(rp),':',... theta,abs(rs),'-.','LineWidth',2)
legend('r_p','r_s','|r_p|','|r_s|')
xlabel('\theta_i')
ylabel('Amplitude')
title(['n_1=',num2str(n1),',n_2=',num2str(n2)])
axis([0 90 -1 1.2]) %设定作图区间
grid on %作图加栅格subplot(1,2,2); %作图rp、rs、|rp|、|rs|随入射角的变化曲线
plot(theta,tp,'-',theta,ts,'--',theta,abs(tp),':',...theta,abs(ts),'-.','LineWidth',2)
legend('t_p','t_s','|t_p|','|t_s|')
xlabel('\theta_{i_1}')
ylabel('Amplitude')
title(['n_1=',num2str(n1),',n_2=',num2str(n2)])
axis([0 90 0 3])
grid on
结果:
本文未经允许,不得转载。
关注CSDN“光学码农”!