matlab做干涉,matlab模拟干涉衍射

%##########################%

%名称:等厚干涉模拟 %

%作者:程序猿__int64Ago %

%时间:2011-12-16 %

%##########################%

clear %清内存

lamda=632.8e-9; %设定入射光波长

n=1; %缝隙折射率

R=5; %柱透镜半径

ym=5e-3; %设定屏幕的范围,根据实际情况调整

xs=ym; %x方向无变化,单一值

N=1000; %条纹柔和度

ys=linspace(-ym,ym,N); %y轴上坐标离散

for i=1:N %依次求干涉光强

hm=R-sqrt(R^2-ys(i)^2); %柱透镜与底面间隙

delta=2*n*hm+lamda/2; %光程差

phi=2*pi*delta/lamda; %相位差

I(i,:)=4*cos(phi/2).^2; %干涉光强

end %求光强结束

M=255; %设定灰度等级

II=(I/4.0)*M; %设定黑白条纹对比度

subplot(1,2,1); %分割figure1×2,并且在第一块上作图

image(xs,ys,II); %画干涉条纹

colormap(gray(M)); %二维光强分布灰度图

title('光强分布灰度图') %列出标题

subplot(1,2,2); %分割figure1×2,并且在第二块上作图

plot(I,ys); %一维光强分布曲线图

title('光强分布曲线图') %列出标题

%##########################%

%名称:多缝夫朗禾费衍射模拟 %

%作者:程序猿__int64Ago %

%时间:2011-12-16 %

%##########################%

clear %清内存

lamda=500e-9; %设定入射光波长

a=10e-6; %缝宽

d=25e-6; %光栏常数

N0=6; %缝数

D=5; %缝到像面的距离(这个随意,几乎不影响)

ym=1*lamda*D/a; %设定屏幕的范围,根据实际情况调整

xs=ym; %x方向无变化,单一值

N=1000; %条纹柔和度(不能太大)

ys=linspace(-ym,ym,N); %y轴上坐标离散

for i=1:N %依次求衍涉光强

sintheta=ys(i)/D; %以下由书上公式

alpha=pi*a*sintheta/lamda;

beta=pi*d*sintheta/lamda;

I(i,:)=(sin(alpha)./alpha).^2.*...

(sin(N0*beta)./sin(beta)).^2; %上一行续行

end %求光强结束

M=255; %设定灰度等级

II=(I/max(I))*M; %设定黑白条纹对比度

subplot(1,2,1); %分割figure1×2,并且在第一块上作图

image(xs,ys,II); %画干涉条纹

colormap(gray(M)); %二维光强分布灰度图

title('光强分布灰度图') %列出标题

subplot(1,2,2); %分割figure1×2,并且在第二块上作图

plot(I,ys); %一维光强分布曲线图

title('光强分布曲线图') %列出标题

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值