- 17
- 0
- 约1.65千字
- 约 3页
- 2018-11-01 发布于河北
- 举报
模拟夫琅禾费衍射的matlab源代码
源代码:
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(生成的衍射单
原创力文档

文档评论(0)