第 2 9卷 第 4 期
2016年 8 月
大 学 物 理 实 验
PHYSICAL EXPERIMENT OF COLLEGE
V〇1.29 No.4
Aug.2016
文章编号:1007-2934(2016)04-0086-03
基 于 M A T L A B的多光学现象仿真可视化设计
徐春芳,王浩然,王建岗,丁益民
(湖北大学,湖 北 武 汉 430062)
摘 要:利用 MATLAB自带GUI,对光学单色光杨氏双缝干涉、牛顿环、夫琅禾费衍射以及迈克尔
逊干涉仪等光学实验进行可视化模拟。
关 键 词 :光学实验;MATLAB;GUI;可视化
中图分类号: O 4-39 文献标志码 : A DOI:10.14139/j.cnki.cn22-1228.2016.004.027
光现象是我们生活中的基本现象,也是大学
物理的基本内容之一,然而,受实验条件的限制,
光现象的相关实验往往难以在课堂上演示。为
此 ,近年许多教师对光学实验的Matlab仿真进行
了研究。余建立等对光的干涉现象进行了研
究[1];夏漫等对光的夫琅禾费单缝衍射光强曲线
和条纹分布进行了模拟研究[2];邓磊对光的多缝
衍射进行了仿真[3];而钟可君则用Matlab的 GUI
实现光的衍射的可视化[4]。本文根据各种光学
现象的基本特征,利用 MATLAB的 GUIDE功能,
结合编程实现多光学实验现象在同一平台的可视
化和可调化。
1 光 学 仿 真 平 台 的 G U I 界 面 设 计
MATLAB中 Guide是图形用户接口开发环境
的简称,它提供了一系列工具用于建立GUI对
象[6]。相对于全编程的方法实现可视化 , GUIDE
所提供的工具大大简化了设计和建立GUI的过
程。在建立GUI后 ,可以对GUI图形界面布局和
编程,通 过 GUI图形界面来控制实验现象的可
视化。
1.1 GU丨布局
在建立一个新的GUI后,要对 GUI布局。依
据需要在GUI布局区添加适当的组件。在添加
控件以前我们要对所需要改变的参量要有具体的
了解,这样有利于我们对GUI做合理的布局。下
图是GUI布局图。
图 1 G U I布局图
本文将界面分为三个部分:显示区,控制区和
提示区。实验的可视化在显示区中呈现。而通过
控制区来调整各光学参数。例如光栅常数,屏到
缝的距离,光的波长等参数可以在这个区域中进
行调整。还可以在这个区域中选择要模拟的实
验。本界面包含了单色光/白光的杨氏双缝干涉、
牛顿环、夫琅禾费单缝和圆孔衍射、迈克尔逊干涉
仪多类实验的模拟。提示区用来提示实验操作中
的注意事项以及可能存在的问题。
1 . 2 设置组件属性
在基本布局完成后,我们需要对各组件属性
进行设计。在设置完组件基础属性后,还必须对
各个组件的callback函数进行编写。
具体方法是,在组件对象上右击鼠标,选择
view Callback/Callback,在该 Callback 回调函数中
编写代码:
Function slider1 _ Callback ( hObject,eventdata,
handles)
收稿日期:2016-03-15
基金项目:理论物理国家重点实验室开放课题(Y3KF321CJ1);湖北大学《大学物理实验精品资源共享课》建设项目(C201407)
基 于 MATLAB的多光学现象仿真可视化设计 87
v a ll= num2str(get(handles.sliderl,'value'));
s