clear

%  基础数据

[lambda,L,o1]=textread('C:\Users\Administrator\Desktop\TOZLM\SiO2_refr1_imag0.txt','%n %n %n');

[lambda,H,o2]=textread('C:\Users\Administrator\Desktop\TOZLM\TiO2_imag0.txt','%n %n %n');

N=20;               % 单模块膜的层数

ns=1;            % 基底折射率

n0=1;              % 空气折射率

d=1*[

108

66

108

66

108

66

108

66

108

66

108

66

108

66

108

66

108

66

108

66

];   % 膜的几何厚度R;G;B

theta0=0;          % 入射角

p=0;               % 为p偏振波时该值为1,为s偏振波时该值为0

absorb=0;          % 系统有无吸收,有1,无0

%  开始计算

ct=sqrt(1-n0^2*sin(theta0)^2./L);% 各层的折射角余弦cosθ

eta=zeros(1,N);    % 预设矩阵η,δ

delta=zeros(1,N);

for q=1:501

n=[

L(q)

H(q)

L(q)

H(q)

L(q)

H(q)

L(q)

H(q)

L(q)

H(q)

L(q)

H(q)

L(q)

H(q)

L(q)

H(q)

L(q)

H(q)

L(q)

H(q)

];

%  计算各层有效导纳η

etas=ns;      % 基底有效导纳ηs

eta0=n0;

j=1;

while j

eta(j)=n(j);

delta(j)=(2*pi/lambda(q))*d(j)*n(j);

j=j+1;

end

% 计算薄膜特征矩阵

M=1;

j=1;

while j

M=M*[cos(delta(j))          1i*sin(delta(j))/eta(j)

1i*sin(delta(j))*eta(j)  cos(delta(j))];

j=j+1;

end;

%  计算反射率

A=M*[1;etas];

b=A(1);

c=A(2);

Y1=c/b; % 组合导纳

Y=Y1;

r=(eta0-Y)/(eta0+Y);      % 振幅反射系数

phi=atan(imag(r)/real(r)); % Φ反射相位变化

R=conj((eta0*b-c)/(eta0*b+c))*(eta0*b-c)/(eta0*b+c);    % 能量反射率

%  计算透射率

if absorb==1;

psi=etas/real(b/conj(c)); % ψ势透射率

T=(1-R)*psi;

else T=1-R;

end

%  保存不同λ时的薄膜特性值

R1(q)=R;

T1(q)=T;

end

L=lambda(:,1);

plot(L,R1)

xlabel('wavelaength');

ylabel('反射率')

hold on

请问这个程序如果通过改变入射角度得到光子晶体的带隙影响?

偏振器件传输矩阵matlab编程,关于传输矩阵法模拟光子晶体的MATLAB编程相关推荐

  1. matlab蒙特卡洛计算报童,马尔可夫链蒙特卡罗模拟(MCMC)-基于MATLAB操作

    本帖最后由 fantuanxiaot 于 2014-11-19 22:22 编辑 5 MCMC matlab.pdf (1.14 MB, 下载次数: 349) 2014-11-19 22:12 上传 ...

  2. MATLAB中输出科学计数法_sprintf函数学习-MATLAB

    首先大概翻译一下帮助文档里面对sprintf函数的描述. sprintf函数的官方定义是把数据格式转换成字符串或字符向量(Format data into string or character ve ...

  3. 偏振器件传输矩阵matlab编程,偏振器件的琼斯矩阵

    ' 期 光 毕 仪 器 汤 偏 振 器 件 的 琼 斯 矩 阵 梁仕廷浙江 大学 在现代光学中 , 偏振 器 件用一个 拒 阵一一琼 斯拒 阵表示 . 本 文提 出两种求取 拒 阵形 式 的 方 法 ...

  4. 圆度坐标法MATLAB,基于坐标法测量圆度误差数据处理的MATLAB实现

    0 引言 圆度是机器回转零件的主要精度指标之一,在回转零件的加工过程中由于机床主轴回转不平衡.切削元件的径向跳动等因素的影响,会引起工件半径的变化,带来圆度误差.圆度误差的存在,直接影响机器零部件的工 ...

  5. python如何导入matlab数据,python学习-python到matlab数据的传输

    1..mat文件 matlab和python间的数据传输一般是基于matlab的文件格式.mat,python中numpy和scipy提供了一些函数,可以很好的对.mat文件的数据进行读写和处理.在这 ...

  6. matlab腔内光子寿命,mcFORnp matlab环境下,利用蒙特卡洛模拟光子包在生物组织内的光路传输 271万源代码下载- www.pudn.com...

    文件名称: mcFORnp下载  收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 215 KB 上传时间: 2014-12-29 下载次数: 8 提 供 者: 徐某 ...

  7. 如何在Lattice CPLD XO2系列器件中执行TransFR(透明传输)操作?

    向博主本人提问FPGA相关问题 转载自:如何在lattice-cpld-xo2系列器件中执行transfr透明传输操作 如何在Lattice CPLD XO2系列器件中执行TransFR(透明传输)操 ...

  8. Linux网络编程(传输层协议 )—tcp三次握手/四次挥手

    传输层协议:负责应用程序之间数据传输-TCP/UDP UDP协议: 16位源端-对端端口:用于描述识别通信两端进程 16位数据报长度:能够存储最大数字 65535,(udp报文总大小不超过64k) 1 ...

  9. 网络编程(part8)--传输层服务之TCP和UDP

    鄙人学习笔记 文章目录 传输层服务 面向连接的传输服务(基于TCP协议的数据传输) 传输特征 实现手段 适用情况 面向无连接的传输服务(基于UDP协议的数据传输) 传输特点 适用情况 传输层服务 面向 ...

最新文章

  1. FieldGroup绑定的日期类型存储格式的问题
  2. APP测试入门之功能测试
  3. Java GC原理简单讲解
  4. 计算机管理将c盘分区,硬盘分区图文教程:新买的电脑只有一个C盘 如何再分区?...
  5. iOS - OC 面向对象语法
  6. SmartPDA图片
  7. 线程池三种队列使用,SynchronousQueue,LinkedBlockingQueue,ArrayBlockingQueue
  8. php简单论坛登录注册,php简单登录注册验证
  9. Android笔记进程优先级
  10. 34线性映射01——映射的概念和性质
  11. MySQL5.5安装教程+SQLyog安装
  12. 汉诺塔移动次数递归算法c语言,谁知道C语言汉诺塔递归算法及其详细注释?
  13. Elasticsearch分布式搜索引擎-安装到实战
  14. Falsy Bouncer(算法)
  15. 云计算是什么?3分钟了解云计算技术
  16. dataframe 对象中统计每个列的所有数的和,或者每一行所有值的和
  17. raid 物理盘缓存状态_Dell PowerEdge系列服务器RAID和物理磁盘开机自检错误信息及说明...
  18. 2022 se 12:ALPHA(3/3)
  19. 我哭了——学分不保篇——注意——开学才一个月——啊这能学?——完犊子
  20. 【520表白日】程序员如何表白吗?程序员表白教程送给你!

热门文章

  1. 找不到网站的服务器 dns 地址,为什么网站一直显示找不到服务器DNS地址?
  2. Word中打开Visio绘图错误:找不到服务器应用程序、源文件或项目
  3. 第六届团队程序设计天梯赛 全题目解析讲解
  4. Mini主机安装Ubuntu18.04记录
  5. Web认证如何对接第三方认证平台?
  6. Pycharm 编辑器文本中间出现有一条分割线
  7. 基于微信小程序的信件收发管理平台设计
  8. kafka linux 脚本测试,kafka shell命令操作
  9. Endsley 的情境意识理论回顾
  10. String的空校验