偏振器件传输矩阵matlab编程,关于传输矩阵法模拟光子晶体的MATLAB编程
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编程相关推荐
- matlab蒙特卡洛计算报童,马尔可夫链蒙特卡罗模拟(MCMC)-基于MATLAB操作
本帖最后由 fantuanxiaot 于 2014-11-19 22:22 编辑 5 MCMC matlab.pdf (1.14 MB, 下载次数: 349) 2014-11-19 22:12 上传 ...
- MATLAB中输出科学计数法_sprintf函数学习-MATLAB
首先大概翻译一下帮助文档里面对sprintf函数的描述. sprintf函数的官方定义是把数据格式转换成字符串或字符向量(Format data into string or character ve ...
- 偏振器件传输矩阵matlab编程,偏振器件的琼斯矩阵
' 期 光 毕 仪 器 汤 偏 振 器 件 的 琼 斯 矩 阵 梁仕廷浙江 大学 在现代光学中 , 偏振 器 件用一个 拒 阵一一琼 斯拒 阵表示 . 本 文提 出两种求取 拒 阵形 式 的 方 法 ...
- 圆度坐标法MATLAB,基于坐标法测量圆度误差数据处理的MATLAB实现
0 引言 圆度是机器回转零件的主要精度指标之一,在回转零件的加工过程中由于机床主轴回转不平衡.切削元件的径向跳动等因素的影响,会引起工件半径的变化,带来圆度误差.圆度误差的存在,直接影响机器零部件的工 ...
- python如何导入matlab数据,python学习-python到matlab数据的传输
1..mat文件 matlab和python间的数据传输一般是基于matlab的文件格式.mat,python中numpy和scipy提供了一些函数,可以很好的对.mat文件的数据进行读写和处理.在这 ...
- matlab腔内光子寿命,mcFORnp matlab环境下,利用蒙特卡洛模拟光子包在生物组织内的光路传输 271万源代码下载- www.pudn.com...
文件名称: mcFORnp下载 收藏√ [ 5 4 3 2 1 ] 开发工具: matlab 文件大小: 215 KB 上传时间: 2014-12-29 下载次数: 8 提 供 者: 徐某 ...
- 如何在Lattice CPLD XO2系列器件中执行TransFR(透明传输)操作?
向博主本人提问FPGA相关问题 转载自:如何在lattice-cpld-xo2系列器件中执行transfr透明传输操作 如何在Lattice CPLD XO2系列器件中执行TransFR(透明传输)操 ...
- Linux网络编程(传输层协议 )—tcp三次握手/四次挥手
传输层协议:负责应用程序之间数据传输-TCP/UDP UDP协议: 16位源端-对端端口:用于描述识别通信两端进程 16位数据报长度:能够存储最大数字 65535,(udp报文总大小不超过64k) 1 ...
- 网络编程(part8)--传输层服务之TCP和UDP
鄙人学习笔记 文章目录 传输层服务 面向连接的传输服务(基于TCP协议的数据传输) 传输特征 实现手段 适用情况 面向无连接的传输服务(基于UDP协议的数据传输) 传输特点 适用情况 传输层服务 面向 ...
最新文章
- FieldGroup绑定的日期类型存储格式的问题
- APP测试入门之功能测试
- Java GC原理简单讲解
- 计算机管理将c盘分区,硬盘分区图文教程:新买的电脑只有一个C盘 如何再分区?...
- iOS - OC 面向对象语法
- SmartPDA图片
- 线程池三种队列使用,SynchronousQueue,LinkedBlockingQueue,ArrayBlockingQueue
- php简单论坛登录注册,php简单登录注册验证
- Android笔记进程优先级
- 34线性映射01——映射的概念和性质
- MySQL5.5安装教程+SQLyog安装
- 汉诺塔移动次数递归算法c语言,谁知道C语言汉诺塔递归算法及其详细注释?
- Elasticsearch分布式搜索引擎-安装到实战
- Falsy Bouncer(算法)
- 云计算是什么?3分钟了解云计算技术
- dataframe 对象中统计每个列的所有数的和,或者每一行所有值的和
- raid 物理盘缓存状态_Dell PowerEdge系列服务器RAID和物理磁盘开机自检错误信息及说明...
- 2022 se 12:ALPHA(3/3)
- 我哭了——学分不保篇——注意——开学才一个月——啊这能学?——完犊子
- 【520表白日】程序员如何表白吗?程序员表白教程送给你!