基于MATLAB光栅衍射实验中的应用Word文档格式.docx
《基于MATLAB光栅衍射实验中的应用Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于MATLAB光栅衍射实验中的应用Word文档格式.docx(10页珍藏版)》请在冰点文库上搜索。
![基于MATLAB光栅衍射实验中的应用Word文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/10/5f7da36a-26e2-4127-8c39-47fbdfc82e6d/5f7da36a-26e2-4127-8c39-47fbdfc82e6d1.gif)
m=200;
%变量m
1
ym=2000*lam*f;
%变量ym及表达式
ys=linspace(-ym,ym,m);
%变量ys及表达式xs=ys;
%交换变量
n=255;
%变量n
fori=1:
m%设置上下限
r=xs(i)^2+ys.^2;
%设置孔径变量及表达式
sinth=sqrt(r./(r+f^2));
%函数sinth及其表达式x=2*pi*a*sinth./lam;
%变量x及其表达式hh=(2*BESSELJ(1,x)).^2./x.^2;
%变量hh及其表达式b(:
i)=(hh)'
.*5000;
%变量b(:
i)及其表达式end%结束程序
figure%画图函数
subplot(1,2,1)%把图形画在1行2列图像中的第一幅图中image(xs,ys,b)%画图ys.xs
colormap(gray(n))%控制及设置颜色
subplot(1,2,2)%把图形画在1行2列图像中的第二幅图中b(:
m/2);
i)及其表达式
plot(ys,b(:
m/2))%画图函数运行
运行结果如图1所示。
图1圆孔的弗朗禾费衍射图(光强二维图)
当为单色光人射时,固定入射光的波长,固定的两缝之问的距离,固定的缝到屏幕
之问的距离MATLAB模拟圆孔的弗朗禾费衍射程序1、圆孔衍射
clear%清除所有变量
lam=1;
%变量lam的表达式
a=1e-3;
%变量a及初值
%变量f及初值
%变量m及初值
2
%函数ym及表达式
%在[-ym,ym]之间产生m个数据xs=ys;
%交换函数值
%变量n及其初值
m%设置i的上下限
%变量r及其表达式
%函数sinth及其表达式
x=2*pi*a*sinth./lam;
%变量x及其表达式
hh=(2*BESSELJ(1,x)).^2./x.^2;
%变量hh及其表达式
b(:
i)及其表达式end%程序结束
subplot(1,2,1);
%把图形画在1行2列图像中的第一幅图中image(xs,ys,b);
%画图函数
colormap(gray(n));
%控制颜色
subplot(1,2,2);
%把图形画在1行2列图像中的第二幅图中b(:
m/2));
运行结果如图2所示。
图2圆孔的弗朗禾费衍射图(光强二维图)
y=-4:
.1:
4;
%设置变量的初始值
a=linspace(-atan(4/11),atan(4/11),length(y));
%变量a及其表达式,产生函数atan(4/11),atan(4/11),length(y)曲线
a=10*sin(a);
%变量a及其表达式
II=abs(sinc(a)).^2*6;
%变量||及其表达式
3
x=11-II;
plot(x,y,'
r'
)%画图函数
holdon;
%程序结束
K=find(diff(sign(diff(II)))==-2)+1;
%变量k及其表达式yyN=y(K);
P=zeros(3,5);
yN=[-0.7,0,0.7];
H=P;
%变量P及其表达式form=1:
3;
%设置上下限
forn=1:
5;
p=polyfit([0,11],[yN(m),yyN(n)],1);
%输出函数图像
P(m,n)=complex(p
(1),p
(2));
%拟合p
(1),p
(2)的图像
H(m,n)=plot(0,yN(m));
end%结束程序
forQ=0:
11;
%设置上下限及步长
pause(0.05)
forw=1:
15;
[m,n]=ind2sub([3,5],w);
%拟合图像
Y=polyval([real(P(w)),imag(P(w))],Q);
%水平方向设置
try%转向下个条件的函数
set(H(w),'
xdata'
[0,Q],'
ydata'
[yN(m),Y]);
%输出图像设置
catch%出结果函数
return%返回函数
end%结束最内层程序
end%结束此外层程序
end%结束最外层程序
axes('
position'
[0.65,0.08,0.3,0.8])%图像输出位置设置a=linspace(-atan(4/11),atan(4/11),300);
[X,Y]=meshgrid(a);
r=sqrt(X.^2+Y.^2);
%设置内经大小的表达式
R=10*sin(r);
%设置外经大小的表达式
II=abs(sinc(R)).^2*6;
imshow(mat2gray(II));
%输出图像函数imshow运行结果如图3所示。
4
图3圆孔的弗朗禾费衍射图(光强二维图)
functionphoto_diffraction%光学衍射仿真矩形lmda=632.8e-9;
%波长
xmax=0.05;
%观察屏所取范围
%变量a.f
ymax=xmax;
%变量代换
def=0.0001;
%变量def
x=-xmax:
def:
xmax;
%设置变量x的上下限y=-ymax:
ymax;
%设置变量x的上下限lenm=length(x);
%设置长度
lenn=length(y);
form=1:
lenm%设置变量m的上下线forn=1:
lenn%设置变量n的上下线alpha=pi*x(m)*a/(lmda*f);
%0.5*k*l*a;
%变量alfha及表达式
beta=pi*y(n)*a/(lmda*f);
%bb=0.5*k*w*b;
%变量beta及表达式
I(m,n)=((sin(alpha))/(alpha))^2*((sin(beta))/(beta))^2;
%拟合函数图像
I=I/(max(max(I)));
%变量|及表达式[X,Y]=meshgrid(x,y);
figure%输出图像函数mesh(X,Y,I);
%三维空间函数
xlabel('
x'
);
%x轴名称
ylabel('
y'
%y轴名称
zlabel('
光强'
%z轴名称
rotate3D%在三维空间输出holdon%结束程序
5
figure%输出图像
imshow(255*I);
%底层图形的输
%y轴名称-
运行结果如图4所示。
图4单缝圆孔的弗朗禾费衍射图(光强三维图)
functionphoto_diffraction%光学衍射仿真矩形
lam=500e-9;
a=1e-3;
f=1;
xm=3*lam*f/a;
%变量xm及表达式
nx=51;
%变量nx
xs=linspace(-xm,xm,nx);
%在[-xm,xm]之间产生nx个数据np=51;
%变量xp
xp=linspace(0,a,np);
%在[0,a]之间产生xp个数据fori=1:
nx%设置变量i的上下线
sinphi=xs(i)/f;
%函数sinphi及表达式alpha=2*pi*xp*sinphi/lam;
%变量alfha及表达式sumcos=sum(cos(alpha));
%余弦求和函数
sumsin=sum(sin(alpha));
%正弦求和函数
B(i,:
)=(sumcos^2+sumsin^2)/np^2;
%变量B(i,:
)及表达式end%结束程序
N=255;
%变量N
Br=(B/max(B))*N;
%变量Br
figure;
%输出图像函数
subplot(1,2,1)%把图形画在1行2列图像中的第一幅图中image(xm,xs,Br);
colormap(gray(N));
%界面颜色设置
subplot(1,2,2)%把图形画在1行2列图像中的第二幅图中plot(B,xs);
%-输出函数图像
运行结果如下图所示。
6
图5单缝圆孔的弗朗禾费衍射图(光强二维图)
N=2;
a=2e-4;
z=5;
d=5*a;
%变量a.d
xm=2*lam*z/a;
y0=xm;
%变量xm,y0及表达式
n=1001;
x0=linspace(-xm,xm,n);
%在[-xm,xm,]之间产生n个数据fori=1:
n%设置变量i的上下线sinphi=x0(i)/z;
%函数sinphi及表达式
alpha=pi*a*sinphi/lam;
beta=pi*d*sinphi/lam;
%函数beta及表达式B(i,:
)=(sin(alpha)./alpha).^2.*(sin(N*beta)./sin(beta)).^2;
)及表达式
B1=B/max(B);
%变量B1及表达式end%结束程序
NC=255;
%变量NC
Br=(B/max(B))*NC;
%变量Br及表达式figure;
subplot(1,2,1)%把图形画在1行2列图像中的第一幅图中image(y0,x0,Br);
colormap(gray(NC));
subplot(1,2,2)%把图形画在1行2列图像中的第二幅图中plot(B1,x0);
%输出函数图形
7
图6单缝圆孔的弗朗禾费衍射(光强二维图)四、结论
有以上实验现象我们不难得出,无论缝的宽度,尺寸有多么的大,波它本身是不介意的,它仍然按照早就定好了的方式运作,所以无论大缝小缝(甚至没有缝),只要波到达了,单个质点的振动就应该都是相同的那么为什么大缝后面的衍射现象不明显呢,我猜也许是因为大缝中间的质点比较的多,拉的比较长,他们的振动都对波在屏障后面的传播有贡献,互相干涉,使得"
阴影区"
的波被减弱了.对于小缝来说,因为有贡献的质点比较的少,振动比较的"
集中"
所以对"
的削弱就小一些,光沿直线传播,在通过缝或孔时发生折射,越个比兆的周期大得多的时间问隔内的弗朗禾费衍射为例进行分析。
孔沿其偏折越大,之后继续直线传播,根据统计学原理,产生光强分布不均。
根据基尔霍夫定律,在其后方形成的衍射应该满足基尔霍夫定律,通过弗朗禾费近似,或者菲涅尔近似,得到的光强分布,都不能形成一个光强均匀分布的情况,也就是相同条纹。
其分别是满足一个衍射光强分布公式的,而这个公式不是线性的在通常的杨氏双缝于涉操作实验中,实验参数的改变引起干涉条纹的变化不明显,不易观察,难以充分震示实验的全部特征,加l实验蠹要特定盼搜器和场疆,给教学科研究带了许多不经。
本文在杨氏双缝干涉理沦的基础上,耐用MATLAB强大的计算和绘图功能,通过利用计算机对杨氏双缝干涉实验进行仿真,仿真程序可以显示单色光和非单色光入射时的干涉图样和光强分布曲线,同时计算出相应的条纹间距和具体点的对比度。
此外,还设计了图形用户界面(用户可以设置不同的实验参数,定性积定量建分板各参数对结果的影响。
通过上述讨论分析可知,利用MATLAB软件对平面光栅衍射实验进行仿真模拟,不受实验仪器和场所的限制,为大学物理的理论分析和实验仿真教学提供了教改的平台(在光学教学中,可以通过改变实验参数就能得到不同实验条件下的衍射强度分布和衍射谱线,对于帮助学生理解光学原理具有积极的作用。
8
五、课程心得
经过一学期的课程学习,在忙碌和紧张有序之余也得到了颇多的收获。
首先我体会到了它简单易懂,同时也给我们解决很多问题带来了方便,除此之外,我觉得对这门语言的掌握还是不到位,欠缺很多,有待做进一步的研究和学习。
以便有更好的应用空间和更多机会的运用。
通过上述讨论分析可知,利用MATLAB软件对平面光栅衍射实验进行仿真模拟,不受实验仪器和场所的限制,为大学物理的理论分析和实验仿真教学提供了教改的平台(在光学教学中,可以通过改变实验参数就能得到不同实验条件下的衍射强度分布和衍射谱线,对于帮助学生理解光学原理具有积极的作用,进一步提高大学物理教学现代化的水平;
同时,对衍射光栅作为各种光谱仪器的核心元件的制作和研究具有一定的指导意义(
[参考文献]:
[1]刘卫国.MATLAB程序设计与应用(第二版)[M].北京:
高等教育出版社,2006.[2]马文蔚.物理学(上册)(第四版)[M],北京:
高等教育出版社,1999.[3]谢嘉宁,赵建林(光栅衍射现象的计算机仿真分析[J]佛山科学技术学院学报,2002,20
(2):
15?
18(
[4]袁长迎,陈昭栋(光栅衍射的汁算机模拟[J]西南工学院学报,2000,1([5]谢嘉宁Matlab在光学信息处理仿真实验中的应用[期刊论文]-物理实验2004(06)
9