目录

案例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“光学码农”!

MATLAB:菲涅尔公式(反射/透射公式)相关推荐

  1. Matlab 菲涅尔系数计算

    1 简介 Matlab 菲涅尔系数计算​ 2 部分代码 function varargout = Fresnel(varargin) % FRESNEL MATLAB code for Fresnel ...

  2. matlab菲涅尔衍射_有问必答——SYNOPSYS安装体验课堂——可以设计菲涅尔透镜吗?...

    问:SYNOPSYS可以设计菲涅尔透镜吗? 答:在USS中有多种菲涅尔面型,用户输入参数即可. 问:SYNOPSYS中具有的输入方式? 答:大家总是有个误区,以为SYNOPSYS需要输入命令运行,其实 ...

  3. matlab 菲涅尔环,菲涅耳区讨论 - 通信原理与基础 - 通信人家园 - Powered by C114

    1.菲涅耳区 当需要计算传播主区的几何尺寸时,要应用惠更斯-菲涅尔原理.惠更斯-菲涅尔原理认为,波在传播过程中,波面上的每一点都是一个进行二次辐射球面波(子波)的波源,而下一个波面,就是前一个波面所辐 ...

  4. 庄懂的TA笔记(九)<菲涅尔 + MatCap + CubeMap>

    庄懂的TA笔记(九)<菲涅尔 + MatCap + CubeMap> 课程内容: 1.菲涅尔 0.效果展示.公式: 菲涅尔现象:  Fresnel(菲涅尔) 用到的两个向量  NdirWS ...

  5. 学习笔记(二):WiFi-无接触感知与菲涅尔区

    学习笔记(二):WiFi-无接触感知与菲涅尔区 <毫米级的 Wi-Fi 无接触感知:从模式到模型>笔记 整体总结:   本文在理论上揭示和评估什么样的人体行为可被检测以及何时被检测到.具体 ...

  6. 菲涅尔区,前后比,VSWR

    1.菲涅尔区 对于垂直化天线系统,波从奇数菲涅尔区反射时产生的信号更强,偶数则弱. 对于水平化天线系统,波从奇数菲涅尔区反射时产生的信号更弱,偶数则强. 2.后瓣 辐射方向与主瓣相反 3.前后比 主瓣 ...

  7. 菲涅尔公式实现边缘光效果

    Shader"review/EdgeEmission" {///标准光照模型 光照数据=自发光(E)+漫反射光(D)+环境光(A)+高光(S)Properties{_MainTex ...

  8. 基于Matlab——夫琅禾夫衍射以及菲涅尔衍射

            我以往在学习F分析的时候,编写了一个作业代码,在此附上供大家学习交流. 引言:     在傅里叶光学信息基础中,主要研究的是光在传播过程携带的信息如何去检测得到.如果光在自由空间(均匀 ...

  9. 菲涅尔定理及MATLAB实现

    ** 菲涅尔定理及MATLAB实现   本文是学习胡章芳<MATLAB仿真及其在光学课程中的应用>和赵凯华<光学>这两本书时所做笔记. 1. 菲尼尔反射与折射公式   一般来说 ...

最新文章

  1. 主页面调用iframe里面匿名Javascript函数的问题
  2. 基于RT106x电磁智能车AI算法
  3. IOS之@property 的理解
  4. 通过php获取文件后缀名怎么改,【转】PHP获取文件后缀名的几种方法
  5. Visual C# 2008+SQL Server 2005 数据库与网络开发--13.1.3 简单记事本程序菜单设计
  6. oracle 904 maxsize,EXP-00008: 遇到 ORACLE 错误 904 ORA-01003
  7. 传送,条件加速 Learn Unreal Engine (with C++)
  8. 古有诸葛亮八卦阵阻敌,今有iptables护网安
  9. 微课|玩转Python轻松过二级:第3章课后习题解答2
  10. apscheduler Trigger
  11. zookeeper 大量连接断开重连原因排查
  12. volatile关键字与synchronization关键字的区别?
  13. 解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问...
  14. JavaScript alert延迟弹出
  15. 新加坡大数据初创公司 Latize 获 150 万美元风险融资
  16. VN2VN——中小企业的网络融合之道
  17. 前端使用的字体中英文对照
  18. CrownCAD 旋转凸台特征
  19. MySql报错1153
  20. 贪吃的九头龙(tyvj P1523)

热门文章

  1. 深度学习与计算机视觉的具体介绍
  2. 易推宝网站推广关键词组合设置有什么技巧?
  3. 一种基于二维码的双向摆渡数据交换方案
  4. 同花顺显示无法与服务器建立联系,【图】同花顺不能登入的试试这个服务器(已失效)_同花顺_股票软件技术交流论坛_理想论坛 - 股票论坛...
  5. 武汉大学计算机学院专业分流时间,通知|2020级工科试验班(一流学科群)专业分流工作安排...
  6. qt html自动换行,qt label 自动换行
  7. 阿里程序员职级、薪资、股权大揭秘!
  8. Android 10 网络权限
  9. (附源码)ssm基于SSM的南昌旅游网站管理系统设计与实现 毕业设计 101407
  10. Android存储图片