Matlab波动光学典型实验的Monte Carlo模拟(2)
时间:2017-06-06 23:04 来源:毕业论文 作者:毕业论文 点击:次
4 GUI界面的整合 37 结论 38 致 谢 39 参 考 文 献 401 绪论 1.1 目的和意义 光学是一门古老的学科,有着悠久的历史,在很长的时间里它的发展受到理论、实验条件、光源等的限制而进展缓慢。随着量子力学理论的发展和上世纪优尔十年代激光的出现以及计算机的应用,对光学的研究已经深入量子世界,极大地促进了现代光学的发展。光学在实际科研和工程中都得到了极大地应用,光机电算结合地越来越紧密。但在光学中存在着许多抽象深奥的理论,如果不借助实验很难真正地理解。光学实验在光学教学中起着举足轻重的作用。 我们知道光具有波粒二象性,随着量子力学、量子光学的发展,对光的粒子性的研究越加深入,光的粒子性更能代表其本源。1925年玻恩提出了光的波粒二象性的统计解释,把波动性和粒子性联系起来,对波动光学的一些现象做出了统计解释。由于波动光学与物质的微观世界存在直接的联系,使得我们对其的理解存在很多困难,我们要借助大量的实验来加深对其的理解。但在实际中光学仪器很精密,实验过程中的要求比较高,实验的结果总是以一些条纹等形式变现出来,不便于观察。因此用计算机仿真模拟显得很实用。所谓计算机仿真科学即在工程设计领域中,人们通过对研究对象建立模型,用计算机程序实现系统的运行和得到运行结果,寻找出最优化方案,然后再予以物理实现,此即为计算机仿真科学[1]。计算机仿真的方法有很多,这里着重介绍Monte Carlo 方法(又称统计试验方法或随机模拟方法),Monte Carlo方法在追踪粒子方面具有不可比例的优势,它是一种基于概率模型的模型。由于光子经过干涉或衍射后到达屏上的位置是随机的,我们就可以利用这种随机性进行Monte Carlo 模拟。用Monte Carlo方法进行波动光学实验具有如下优势[2]: (1) 可以利用计算机的仿真结果指导实际实验,减少和避免贵重仪器的损伤。 (2) 计算机可以随时查看实验的整个过程,可以很方便地修改参数,能够更加透彻地理解整个过程,可以方便地进行过程控制。 (3) 可以使抽象的难懂的光学概念和规律更加直观地展现出来。 (4) 计算机的仿真程序运行效率高,可以反复运行。 但是Monte Carlo方法的计算量和庞大,在波动光学中要得到一个较好的模拟结果需要代入大量的点进行运算,使得运算成本很高。由于Monte Carlo 方法的精度与样本的数量密切相关,在方差固定的情况下要想提高精度一位数字就要增加100倍的工作量[3],因此在满足要求的前提下也要考虑成本问题。 1.2 国内外研究现状 1.3 Matlab语言仿真的优势 在本文中所用的放着语言是Matlab语言。Matlab是MathWorks公司在1982年推出的一款高性能的数值计算和可视化软件。这款软件集数值分析、矩阵运算、信号处理和图形显示与一体,构成了一个方便和界面友好的用户环境。Matlab语言具有很多特点和优势[5]: (1) 高效方便的矩阵的数组运算 Matlab语言给出了很多矩阵函数的定义及运算函数,在求解问题时可以直接调用库函数,并且各个库函数针对不同的情况采取不同的优化算法,保证了求解的结果的可靠性和求解的快速性。 (2) 编程效率高 Matlab语言简洁紧凑,,使用灵活方便,程序书写形式自由,且自带的库函十分丰富,能够大大降低编程难度。且库函数是经过专家优化的函数,执行效率很高。 (责任编辑:qin) |