%% 固定参数
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('多光束干涉仿真结果')