作业帮 > 数学 > 作业

求一个平行平板多光束干涉的仿真 matlab代码

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/08/24 16:27:23
求一个平行平板多光束干涉的仿真 matlab代码
平行平板多光束干涉的仿真
目的:通过对平行平板多光束干涉的计算:1.掌握等倾干涉的概念;2.掌握干涉特点及条纹锐度,自由光谱范围及滤波特性等概念.
任务与要求:对单色光(600nm)与复色光(两种颜色,如600,620nm)进行多光束干涉(要求变化R值,如R=0.046,R=0.27,R=0.64,R=0.87,R=0.99)的计算,绘出干涉条纹,观察条纹锐度;固定入射角(如0°,30°角),观察选频特性.对复色光观察自由光谱范围.对整个仿真进行总结归纳.
lamda=[600 610 570 550 460 440 410]*1e-5; %七色光的波长
RGB=[1,0,0;1,0.5,0;1,1,0;0,1,0;0,1,1;0,0,1;0.67,0,1]; %七色光的RGB值
h=0.05; %距离
pc=zeros(500,500,3); %设置光屏
%可调参数
r=0.54;%反射系数
n=1.5;%折射率
d=1.7;%薄膜厚度
[x,y]=meshgrid(linspace(-0.005,0.005,500));
z=x+1i*y;
theta=atan(abs(z)/h); %设置入射角
for k=1:7
phi=4*pi*n*d*cos(theta)/lamda(k); %相位差
It=1./(1+4*r^2*sin(phi/2).^2/(1-r^2)^2); %光强
p(:,:,1)=It*RGB(k,1);
p(:,:,2)=It*RGB(k,2);
p(:,:,3)=It*RGB(k,3); %将包含颜色信息的光强用矩阵保存下来
pc=pc+p; p=[];
end;
%显示
Br=1/max(max(max(pc))); %调整矩阵元素的最大值为1的系数
pcl=pc*Br; %调节
imshow(pcl,[]) %显示仿真结果
title('多光束干涉仿真结果')