1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Matlab实现圆孔夫琅和费衍射

Matlab实现圆孔夫琅和费衍射

时间:2020-10-20 12:41:03

相关推荐

Matlab实现圆孔夫琅和费衍射

1 简介

本文基于标量衍射理论,利用Matlab软件编程实现了对圆孔和圆环的夫琅禾费衍射的计算机仿真.这为数字化仿真现代光学实验和教学提供了一种极好的手段.

2 部分代码

% 圆孔的夫琅和费衍射

%

close all

figure('position',[217 266 694 244]);

axes('position',[0.05,0.08,0.6,0.8]);hold on;

title('Fraunhofer Diffraction of a Round Hole',...

'fontsize',14)

set(gcf,'doublebuffer','on');

axis([-4,12,-5,5]);

rectangle('position',[0,1,0.2,3],'FaceColor',[0.1,0.3,0.4]);

rectangle('position',[0,-4,0.2,3],'FaceColor',[0.1,0.3,0.4]);

rectangle('position',[3.8,-4,0.4,8],'FaceColor',...

[0.4,0.3,0.4],'Curvature',[1,1]);

rectangle('position',[11,-5,0.4,10],'FaceColor',[0.1,0.3,0.4]);

h1=plot([-4,-4],[-0.7,-0.7]);

h2=plot([-4,-4],[0,0]);

h3=plot([-4,-4],[0.7,0.7]);

for k=-4:.1:0;

pause(0.05);

set([h1,h2,h3],'xdata',[-4,k]);

end

y=-4:.1:4;

a=linspace(-atan(4/11),atan(4/11),length(y));

a=10*sin(a);

II=abs(sinc(a)).^2*6;

x=11-II;

plot(x,y,'r')

K=find(diff(sign(diff(II)))==-2)+1;

yyN=y(K);

3 仿真结果

4 参考文献

[1]崔祥霞. 圆孔圆环夫琅禾费衍射实验的Matlab仿真设计[J]. 物理与工程(5):3.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。