关键词 matlab 可视化 光学仿真 牛顿环
中图分类号:g642 文献标识码:a doi:10.16400/j.cnki.kjdks.2016.07.022 本文基于matlab gui②设计,通过牛顿环、声速测量、迈克尔逊干涉仪的模拟和具体实例分析,从而了解matlab可视化在大学物理中的演示应用,及数据处理过程。③通过数字化模拟演示,生成动态图像,完成数据测量及数据处理分析,并扩展了实验的观察项目,达到明晰原理,提高观察效果,分析误差成因等更好的教学效果。鉴于物理设备和光学实验的操作规范性强等原因,实物操作实验存在原理清晰度不够、观察吃力、测量误差大等不足。而matlab可视化演示能在实物实验的基础上提供更加理论的补充,能在设备不变操作时辅助课堂教学,能在对比实验中寻求误差原因等等,从而促进大学物理的教学。目前我们已近积累了相关演示项目近30余项,也为目前全国推进的慕课和微课作好了资源储备。下面是我们可视化的两个具体项目。
1 牛顿环matlab可视化演示项目 1.1 牛顿环干涉原理
牛顿环是通过可见光的等厚干涉而得到的一系列同心圆环,通过测量干涉圆环的直径,我们可以间接测量半凸透镜的曲率半径。牛顿环实验光路图如图1所示。
我们在实际测量过程中,为了提高测量精度,都是测量圆环的直径。通过测量级和级暗环的直径,得到半凸透镜的曲率半径为⑤ 1.2 牛顿环的matlab模拟 牛顿环干涉的光强分布为⑥ 可由(1)式可得到:
我们利用matlab计算牛顿环的光强分布,应用gui的图形化处理功能和交互式用户界面,得到如图2的牛顿环演示实验界面,界面的左边为实验原理装置部分,右边为干涉图像。测量控件的光强回调函数如下:
lamda=str2double(get(handles.lamda,'string')); r=str2double(get(handles.r,'string')); d=str2double(get(handles.d,'string')); lamda=get(hobject,'value');
set(handles.lamda,'string',num2str(lamda)); lamda=lamda*1e-7; d=d*1e-7;
lamda1=lamda*1e9;
set(handles.text2,'string',lamda1);
[x,y]=meshgrid(linspace(-0.006,0.006,600)); r2=(x.^2+y.^2);
di=2.*(d-(r-sqrt(r^2-r2)))-lamda/2; %光程差 i=(cos(di.*pi/lamda)).^2; %光强分布 axes(handles.axes2);
在交互式部分,我们可以通过滑条改变入射光的波长,半凸透镜的半径,以及半凸透镜与平板玻璃底部的距离,观察干涉条纹的变化,从而了解影响干涉条纹的要素。同时我们还设计了与实际测量相仿的测量方式,通过十字标线读取圆环的位置坐标,从而到达测量圆环
直径的效果。
2 声速测量的matlab模拟演示项目
我们还设计了如图3所示的声速测量模拟演示实验,通过输入超声波频率和调节滑条,达到转动轮转动,同时超声波接收器移动,示波器上的李萨茹图形发生变化,以及共振法的波形振幅改变,从而达到模拟实验测量的效果。 3 结论
我们通过上面的具体实例,讨论了matlab在大学物理演示实验中的应用,同时,也可以利用matlab强大的图形处理功能和计算功能,将更多的物理实验展示给学生,我们还做了单缝衍射,光栅衍射等模拟演示实验,通过上面的讨论,利用matlab数值计算及可视化功能,实现了大学物理实验的模拟设计,不仅可以利用matlab来演示物理实验,也可以作为物理实验教学过程的一个辅助手段。同时,在理论教学过程中作为物理演示展示给学生,帮助学生理解和学习物理原理。使得教学过程和内容更加生动。
因篇幅问题不能全部显示,请点此查看更多更全内容