[讨论] 光学绕射MATLAB模拟

楼主: Eenie (Eenie)   2014-07-29 15:46:19
目的是要利用MATLAB模拟 做出一矩形狭缝配合一透镜于屏幕上观测其绕射分布
而小弟于网络上有找到单缝绕射的MATLAB模拟
其程式如下
lamda=500e-9; %波长
N=1;%缝数
a=2e-4;D=5;d=5*a
ym=2*lamda*D/a;xs=ym;%屏幕上Y的范围
n=1001;%屏幕上的点数
ys=linspace(-ym,ym,n);%定义区域
for i=1:n
sinphi=ys(i)/D;
alpha=pi*a*sinphi/lamda;
beta=pi*d*sinphi/lamda;
B(i,:)=(sin(alpha)./alpha).^2.*(sin(N*beta)./sin(beta)).^2;
B1=B/max(B);
end
NC=256;%确定灰度的等级
Br=(B/max(B))*NC;
subplot(1,2,1)
image(xs,ys,Br);
colormap(hot(NC));色调处理
subplot(1,2,2)
plot(B1,ys,'k');
作者: jack10313 (彩色笔)   2014-07-30 02:01:00
手边没电脑,不能帮你跑模拟,我的猜测如下。第一,这是解析解,并不是模拟;第二,两个sinc应为绕射项加上干涉项,所以a应为狭缝宽度,D为传播距离,d为干涉参数,5代表slit有五个。

Links booklink

Contact Us: admin [ a t ] ucptt.com