模拟夫琅禾费衍射的matlab源代码
更新时间:2023-10-22 15:29:01 阅读量: 综合文库 文档下载
源代码: N=512;
disp('衍射孔径类型 1.圆孔 2.单缝 3.方孔')
kind=input('please input 衍射孔径类型:');% 输入衍射孔径类型 while kind~=1&kind~=2&kind~=3
disp('超出选择范围,请重新输入衍射孔径类型');
kind=input('please input 衍射孔径类型:');% 输入衍射孔径类型 end
switch(kind) case 1
r=input('please input 衍射圆孔半径(mm):');% 输入衍射圆孔的半径 I=zeros(N,N);
[m,n]=meshgrid(linspace(-N/16,N/16-1,N)); D=(m.^2+n.^2).^(1/2); I(find(D<=r))=1;
subplot(1,2,1),imshow(I); title('生成的衍射圆孔');
case 2
a=input('please input 衍射缝宽:');% 输入衍射单缝的宽度 b=1000;% 单缝的长度 I=zeros(N,N);
[m,n]=meshgrid(linspace(-N/4,N/4,N)); I(-a
[m,n]=meshgrid(linspace(-N/4,N/4,N)); I(-a/2
otherwise kind=input('please input 衍射孔径类型:');% 输入衍射孔径类型 end
% 夫琅禾费衍射的实现过程 L=500;
[x,y]=meshgrid(linspace(-L/2,L/2,N));
lamda_1=input('please input 衍射波长(nm):');% 输入衍射波长;
lamda=lamda_1/1e6 k=2*pi/lamda;
z=input('please input 衍射屏距离衍射孔的距离(mm):');% 衍射屏距离衍射孔的距离
h=exp(1j*k*z)*exp((1j*k*(x.^2+y.^2))/(2*z))/(1j*lamda*z);%脉冲相应 H =fftshift(fft2(h));%传递函数 B=fftshift(fft2(I));%孔频谱 G=fftshift(ifft2(H.*B));
subplot(1,2,2),imshow(log(1+abs(G)),[]); title('衍射后的图样'); figure
meshz(x,y,abs(G));
title('夫琅禾费衍射强度分布')
实验输入:衍射孔径类型 1.圆孔 2.单缝 3.方孔 please input 衍射孔径类型:1
please input 衍射圆孔半径(mm):3 please input 衍射波长(nm):632 lamda =6.3200e-04
please input 衍射屏距离衍射孔的距离(mm):1000000 实验结果:
程序说明:本实验可以选择孔径类型、孔径半径、输入波长、衍射屏和衍射孔的距离等。当衍射屏和衍射孔的距离相对较小时,此衍射为菲涅耳衍射,当距离相对较大时满足夫琅禾费衍射的条件,两者的程序一样,只是距离Z的大小不一致。又由于夫琅禾费衍射与傅里叶变换成正比,只差一个系数关系。所以程序中的衍射既是直接对物光进行傅里叶变换即可。
正在阅读:
模拟夫琅禾费衍射的matlab源代码10-22
与众不同的我作文600字03-13
两种工程造价计价模式比较06-18
高考化学热点精讲精练之化学实验 热点三 化学药品的存放及化学实04-17
廉洁从业,从我做起·~~01-12
微笑的陷阱作文600字07-13
“导弹引论”第九讲10-25
我创造了奇迹作文450字06-19
老师我想对您说作文600字07-16
高考英语作文:孩子出国的利弊05-12
- 一乙酰基二茂铁的制备与合成
- 第七章 幼儿的个性发展
- 浅议初中物理实验教学中学生创新能力的培养
- 2009机动车商业险B款
- 史学概论复习题
- 历年全国警察类面试真题二十
- 海南大学《观赏树木学》物种辨析总结
- 新人教版八年级地理综合测试题 - 图文
- 市政道路现场施工应急救援预案
- 湖北省公务员奖励实施办法(试行)
- 测量控制方案--长会口大桥
- 人工智能作业题及答案
- 运筹学复习
- 苏教版小学六年级语文上册第三单元测试
- 过敏性鼻炎和颈椎病好了,要是你知道我是怎么好的会不哭死啊?!!
- 面向对象的程序设计语言 - C++(第二版)-前五章习题参考答案(编程题也有啊)
- 幼儿教育中家庭与学校的分工与合作
- 公卫执业医师专业课重点笔记
- 社会团体、民办非清算审计报告模板
- 社会保障学