用MATLAB编程模拟光学实验

所属栏目:计算机应用论文 发布日期:2011-02-21 09:03 热度:

  摘要:随着科学技术的迅速发展,计算机模拟技术已广泛应用在教学和科研当中,本文提出利用MATLAB软件模拟傅里叶光学实验的方法,该方法的优点是操作简单灵活,能完成一般的光学实验。
  关键词:MATLAB;光学实验
  
  1引言
  美国Mathworks公司推出的MATLAB,是一种集数值计算、符号预算、可视化建模、仿真和图形处理等多种功能于一体的优秀图形化软件。本文介绍了通过MATLAB软件编程模拟光学实验的方法。
  计算机模拟为衍射实验的验证提供一条简捷、直观的途径。从而加深了对物理原理、概念和图像的理解。
  
  2仿真方法
  大学教学课程中引入计算机模拟技术正日益受到重视,用MATLAB软件做光学试验的模拟,只需要用数学方式表达和描述,省去了大量繁琐的编程过程。下面来介绍利用MATLAB进行光学模拟的方法。
  在利用计算机来实现傅里叶变换的过程中,由于计算机中图像的存储使用是数字形式,连续的傅里叶变换不适用于计算机的处理,所以在计算机中的傅里叶变换一般都采用离散傅里叶变换(DiscreteFourierTransform——DFT)。在计算机中使用离散傅里叶变换主要是基于以下几个原因:
  (1)离散傅里叶变换的输入输出都是离散值,方便计算机的运算操作。
  (2)采用离散傅里叶变换,可以用快速傅里叶变换(FFT)算法来实现,以提高计算速度。
  为了降低运算量,在计算离散傅里叶变换时,通常采用快速傅里叶变换来实现,其算法思想:
  (1)首先将原图像进行转置。
  (2)按行对转置后的图像矩阵作一维FFT,将变换后的中间矩阵再转置。
  (3)对转置后的中间矩阵作一维FFT,最后得到的就是二维FFT。
  物体图像的生成可以直接由矩阵运算生成,也可利用Windows下的画图工具,生成一幅黑白图像,可调用命令函数imread()输入图像,输入的图像是一个巨大的二维矩阵,利用MATLAB的fft2()命令对该矩阵进行二位离散傅立叶变换,得到图像的频谱,该频谱是一个复数矩阵,然后用取模函数abs()对该复数矩阵取模,得到振幅谱矩阵,利用函数fftshift()对取模后的矩阵进行频谱位移,使直流分量移到频谱中心,从而使FFT频谱可视效果与实际图像相吻合。最后利用imshow()函数将图像显示出来。
  
  3仿真实验结果
  3.1矩孔衍射:
1.jpg
  3.2圆孔衍射
2.jpg
  3.3字母衍射
3.jpg
  
  4总结
  通过以上讨论可以看出,利用Matlab强大的影像处理功能模拟傅里叶光学实验是成功的,而且图像也比较逼真,我们认为,傅里叶光学中引入计算机模拟是可行的有必要的,而且具有良好的应用前景。
  
  5参考文献:
  1陈怀琛《Matlab及其在理工课程中的应用指南》,西安电子科技大学出版社
  2胡守信、李柏年,《基于MATLAB的数学实验》,科学出版社

文章标题:用MATLAB编程模拟光学实验

转载请注明来自:http://www.sofabiao.com/fblw/dianxin/yingyong/7253.html

相关问题解答

SCI服务

搜论文知识网的海量职称论文范文仅供广大读者免费阅读使用! 冀ICP备15021333号-3