模拟夫琅禾费衍射的matlab源代码(精.选).pdf

模拟夫琅禾费衍射的matlab源代码(精.选).pdf

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
源代码: N=512; disp( 衍射孔径类型 1. 圆孔 2. 单缝 3. 方孔 ) kind=input( please input 衍射孔径类型: ); % 输入衍射孔径类型 while kind~=1kind~=2kind~=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(-amma-bnnb)=1; subplot(1,2,1);imshow(I); title( 生成的衍射单缝 ); case 3 a=input( please input 方孔边长: ); % 输入方孔边长 I=zeros(N,N); [m,n]=meshgrid(linspace(-N/4,N/4,N)); I(-a/2mma/2-a/2nna/2)=1; subplot(1,2,1),imshow(I); title( 生成的方孔 ); otherwise kind=input( please input 衍射孔径类型: ); % 输入衍射孔径 类型 end % 夫琅禾费衍射的实现过程 L=500; [x,y]=meshgrid(linspace(-L/2,L/2,N)); lamda_1=input( please input 衍射波长 (nm) : ); % 输入衍射波长 ; word. 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 衍射屏距离衍射孔的距离

文档评论(0)

tianya189 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档