论文部分内容阅读
摘 要:为了在实验教学中更直观地解释声速测量实验的实验原理,本文结合matlab软件仿真实验。本文首先介绍相位比较法的基本原理,然后通过matlab软件实现对实验现象的动态模拟,并分析仿真结果。仿真结果直观、形象,辅助实验教学有很好的效果。
关键词:Matlab软件;声速测量;实验教学
大学物理实验中,声速测量实验普遍采用共振干涉法和相位比较法,这两种方法利用声波的波动特性间接测量声速,实验中利用示波器观察图形的变化情况[1] 。课上讲解实验原理,由于不够直观,学生往往很难理解;如果用仪器演示,虽形象,但是实验时学生照做,又达不到锻炼学生的目的。不能很好地理解实验原理,则达不到实验教学的效果。
利用合适的软件,既可以形象直观地模拟实验项目,又可以加深学生的认识和理解,还可以激发学生的积极性。Matlab有强大的数值计算能力和模拟仿真功能,利用matlab软件演示声速测量实验,可帮助学生更好地理解实验原理。
1 实验原理
如实验装置图1所示,S1处发出的超声波被S2接收并反射,S2处振动相位随时间变化,但是该处相位与S1处的相位差 并不随时间变化。把S1、S2的信号分别接到示波器的X轴、Y轴,形成稳定的李萨如图形。李萨如图形相邻两次倾斜直线的相位变化是 ,对应的换能器间距变化是半个波长。因此测出两个倾斜直线对应的换能器间距L2,可算出声速: 。
2 Matlab仿真实验
在matlab主界面输入guide,弹出GUI设计面板,选择空白页面,输入名称并保存,分别在面板上放置需要的控件。
在图形面板中,单击鼠标右键生成M文件,在该文件中编程。自动生成的主子函数为function varargout= shilie1(varargin),其中varargin为输入的消息参数。程序中,设置入射波、反射波的频率均是1,振幅均是10,波长为100。主要控件的回调函数如下:
①滑动条控件回调函数:
function slider_x_Callback(hObject,eventdata,handles)
set(handles.edit_x,'String',get(hObject,'Value'));
x=get(hObject,'Value');
f1=str2double(get(handles.edit_tf,'String'));
f2=str2double(get(handles.edit_if,'String'));
a1=str2double(get(handles.edit_ta,'String'));
a2=str2double(get(handles.edit_ia,'String'));
t=0:0.005:4;
y0=a1*cos(2*pi*f1*t);
y1=a1*cos(2*pi*f1*t-2*pi*x/100);
y2=a2*cos(2*pi*f2*t+2*pi*x/100);
axes(handles.axes_trin);%图2
plot(t,y1,'r');hold on;
plot(t,y2);hold off;grid on;
axes(handles.axes_lis);
plot(y0,y2);grid on;
②自动运行按钮的回调函数:
function auto-button_Callback(hObject,eventdata,handles)
for i=0:100
set(handles.slider_x,'Value',i);
slider_x_Callback(handles.slider_x,eventdata,handles)
pause(0.3);
end
3 结果说明
相位比较法程序运行结果如图6所示,移动滑块从0到50,得到一系列形状不同的李萨如图形。6a、6e是两个相邻的倾斜直线,对应的换能器间距就是半个波长。在界面上,也可以点击自动运行按钮、暂停按钮和继续按钮,观察整个变化过程或者逐步观察现象。还可以改变入射频率、反射频率、入射振幅、反射振幅等参数观察。
4 结论
本文结合matlab软件仿真声速测量实验,可动态实现整个实验过程,形象直观地解释实验原理,便于学生理解实验,也激发学生进一步思考实验思路和实验步骤。对实验教学有很好的辅助作用。
参考文献
[1] 董正超,方靖淮,朱兆青,凌邦国.大学物理实验[M].苏州:苏州大学出版社,2011,56-60.
基金项目:本文系江蘇省现代教育技术研究2018年度课题,课题名称:基于雨课堂与虚拟仪器开展数电实验课教学的应用研究,课题编号:2018-R-59685研究成果之一。
关键词:Matlab软件;声速测量;实验教学
大学物理实验中,声速测量实验普遍采用共振干涉法和相位比较法,这两种方法利用声波的波动特性间接测量声速,实验中利用示波器观察图形的变化情况[1] 。课上讲解实验原理,由于不够直观,学生往往很难理解;如果用仪器演示,虽形象,但是实验时学生照做,又达不到锻炼学生的目的。不能很好地理解实验原理,则达不到实验教学的效果。
利用合适的软件,既可以形象直观地模拟实验项目,又可以加深学生的认识和理解,还可以激发学生的积极性。Matlab有强大的数值计算能力和模拟仿真功能,利用matlab软件演示声速测量实验,可帮助学生更好地理解实验原理。
1 实验原理
如实验装置图1所示,S1处发出的超声波被S2接收并反射,S2处振动相位随时间变化,但是该处相位与S1处的相位差 并不随时间变化。把S1、S2的信号分别接到示波器的X轴、Y轴,形成稳定的李萨如图形。李萨如图形相邻两次倾斜直线的相位变化是 ,对应的换能器间距变化是半个波长。因此测出两个倾斜直线对应的换能器间距L2,可算出声速: 。
2 Matlab仿真实验
在matlab主界面输入guide,弹出GUI设计面板,选择空白页面,输入名称并保存,分别在面板上放置需要的控件。
在图形面板中,单击鼠标右键生成M文件,在该文件中编程。自动生成的主子函数为function varargout= shilie1(varargin),其中varargin为输入的消息参数。程序中,设置入射波、反射波的频率均是1,振幅均是10,波长为100。主要控件的回调函数如下:
①滑动条控件回调函数:
function slider_x_Callback(hObject,eventdata,handles)
set(handles.edit_x,'String',get(hObject,'Value'));
x=get(hObject,'Value');
f1=str2double(get(handles.edit_tf,'String'));
f2=str2double(get(handles.edit_if,'String'));
a1=str2double(get(handles.edit_ta,'String'));
a2=str2double(get(handles.edit_ia,'String'));
t=0:0.005:4;
y0=a1*cos(2*pi*f1*t);
y1=a1*cos(2*pi*f1*t-2*pi*x/100);
y2=a2*cos(2*pi*f2*t+2*pi*x/100);
axes(handles.axes_trin);%图2
plot(t,y1,'r');hold on;
plot(t,y2);hold off;grid on;
axes(handles.axes_lis);
plot(y0,y2);grid on;
②自动运行按钮的回调函数:
function auto-button_Callback(hObject,eventdata,handles)
for i=0:100
set(handles.slider_x,'Value',i);
slider_x_Callback(handles.slider_x,eventdata,handles)
pause(0.3);
end
3 结果说明
相位比较法程序运行结果如图6所示,移动滑块从0到50,得到一系列形状不同的李萨如图形。6a、6e是两个相邻的倾斜直线,对应的换能器间距就是半个波长。在界面上,也可以点击自动运行按钮、暂停按钮和继续按钮,观察整个变化过程或者逐步观察现象。还可以改变入射频率、反射频率、入射振幅、反射振幅等参数观察。
4 结论
本文结合matlab软件仿真声速测量实验,可动态实现整个实验过程,形象直观地解释实验原理,便于学生理解实验,也激发学生进一步思考实验思路和实验步骤。对实验教学有很好的辅助作用。
参考文献
[1] 董正超,方靖淮,朱兆青,凌邦国.大学物理实验[M].苏州:苏州大学出版社,2011,56-60.
基金项目:本文系江蘇省现代教育技术研究2018年度课题,课题名称:基于雨课堂与虚拟仪器开展数电实验课教学的应用研究,课题编号:2018-R-59685研究成果之一。