基于Mathematica的大学物理模拟实验

2015-07-03 09:44胡宗元
大学物理实验 2015年4期
关键词:模拟实验振子大学物理

胡宗元

(首都经济贸易大学,北京 100070)

随着信息时代的到来,运用计算机进行设计和探究已经成为现在大学生的一种基本能力。然而,中国的计算机现状是应用不够,其主要原因就是缺乏人才和软件。这种形势值很是得我们警觉[1]。为了培养学生的计算机应用能力,在教学中开展模拟实验是一种非常有效的方法。它能够让学生在掌握知识的同时,发展计算机应用能力。

Mathematica软件是Wolfram Research公司开发的一款数学计算软件,主要用于科学研究和工程技术中的计算。它不仅可以进行程序运行,还可以交互式运行,一句简单的Mathematica命令能完成其它编程软件可能要用几十句命令才能完成的任务;它除了能进行任意精度的数值计算,还可以进行复杂的符号演算;Mathematica还提供了多种方式作图、发声和动画命令,使人们直观地把握对象的特性[2-5]。基于以上特点,我们选择Mathematica作为开发仿真实验的工具。

下面,以大学物理实验中的弹簧振子阻尼振动实验为例,具体展示如何运用Mathematica设计模拟实验。

1 问题分析

振动是振子围绕平衡位置的往复运动,设振子的质量为m,劲度系数为mw2(固有频率为w),阻尼系数为2mi,取平衡位置为原点建立坐标系,则由牛顿第二定律[4]得到运动微分方程

解出通解为

如果振子的初始位置和速度分别为a,v0,即

代入通解后得到

于是运动方程成为

弹簧振子位置和速度的变化范围分别为

往复运动的周期为

2 程序设计

对物理问题进行分析和计算提供了计算模拟的基础,但是要想获得较好的演示效果,还需要在表现形式上下功夫。

2.1 振子的大小

该物理问题并未确定振子的形状和大小,为方便起见,我们可以假设该弹簧振子为小球。从演示的效果来看,小球半径过小则不易看清;过大则难以看到运动全过程。因此,最佳选择是规定一个半径值,如占整个画面尺度的5%。这样,两个方面都可以照顾到。

2.2 范围的大小

为得到理想的模拟效果,必须选择合适的演示范围。演示范围过小,振子在运动过程中会跑出画面;演示范围过大,就看不到振子的全部运动轨迹。由(8)式,振子到原点的最大距离为

2.3 演示的时间

演示时间也是保证演示效果的另一个重要因素,演示时间过短,无法展示运动的主要特点;演示时间过长,则浪费时间也没有必要。往复运动周期由(9)式给出,在周期有限的情况下,虽然运动有衰减,但通过前几个周期就足以看出运动规律;在没有周期性的过阻尼的情况下,我们只要一个固有周期就能看出运动规律。因此我们取演示时间为2到3个固有周期,即

2.4 演示的方式

计算模拟的一大特点是可以用多种方式展示运动规律。除了动画方式外,我们还可以展示运动的频闪图、速度时间图、位置时间图和速度位置图等。为了避免前后图像相互覆盖,频闪的时间间隔dt不能太小,总的时间也不能过长。

3 仿真程序及其运行

3.1 Mathematica 源程序

基于上面的设计,写出相应的Mathematica模块:

3.2 程序中的参数说明

下面,对程序中的各个参数进行一下说明:

输入参数:初始位移x0;初速度v0;固有频率w;阻尼参数i;模式参数mm

输出模式:mm=0,动画;mm=1,频闪图;mm=2,v-x 图;mm=3,x-t图;mm=4,v-t图

内部变量:阻尼频率w1;最大位移xmax;固有周期 t0,闪光间隔 dt=0.2

运动方程:x[t]

3.3 仿真程序的使用

在仿真时调用模块dampingvibration,输入振子的初始位移x0、初速度v0、固有频率w、阻尼参数i以及模式选择等参数后,便可运行。现举例如下:

设振子的初始位移x0=2、初速度v0=0、固有频率w=2、阻尼参数i=1。

如果要得到动画, 输入命令为:dampingvibration[2,0,2,1,0],输出结果即是振子作阻尼振动的模拟动画;由于在文章中无法显示动画效果,读者可以自行测试。

如果要得到频闪图,输入命令为:damping vibration[2,0,2,1,1],输出结果如图1 所示。

图1 频闪图

如果要得到 v-x图,输入命令为:dampingvibration[2,0,2,1,2],输出结果如图 2所示。

图2 速度位置图

如果要得到 x-t图,输入命令为:dampingvibration[2,0,2,1,3],输出结果如图 3所示。

如果要得到 v-t图,输入命令为:dampingvibration[2,0,2,1,4],输出结果如图 4所示。

图3 位置时间图

图4 速度时间图

3.4 仿真程序的优点

上面基于Mathematica的模拟实验程序的主要优点:

(1)输入参数任意可调,可以按需进行各种模拟实验;

(2)既能够输出运动实况,又能够输出闪频照片及其它相关曲线,展示内容丰富;

(3)源程序比较简单,且具有开放性,略加修改就可以演示其它相近的物理现象。

4 结 论

基于Mathematica,以大学物理中的弹簧振子阻尼振动试验为例设计了一个结构简单、功能强大的模拟实验程序。输入任意条件,该程序都可以输出动画、频闪图和轨迹曲线等模拟实验结果。直观、生动形象的展现实验现象和内容,使学生容易把握住对象特性,从机理上理解实验内容,更好的掌握知识内容。

此外,该模拟实验程序具有很好的开放性,在此基础上加以修改就可以扩展功能,还可以编写出其它实验内容的模拟实验程序,进一步提高学生的计算机应用能力。

[1] 彭芳麟,梁颖,忻蓓.计算软件在计算物理课程中的地位和作用[J].大学物理,2013,8:7.

[2] 倪致祥.科研的有力工具-Mathematica简介[J].阜阳师范学院学报,2005(2):7.

[3] 洪维恩.数学运算大师Mathematica4[M].北京:人民邮电出版社,2002:1-16.

[4] 周衍柏.理论力学教程[M].2版.北京:高等教育出版社,1986:24-41.

[5] 谢文海,古莉,滕艳萍.阻尼振动的Mathmatica模拟[J].大学物理实验,2014(5):72-75.

猜你喜欢
模拟实验振子大学物理
断块油藏注采耦合物理模拟实验
基于近似熵和混沌振子的电力谐波检测与估计
基于模拟实验研究不均匀沉降对加宽路面结构的影响
射孔井水力压裂模拟实验相似准则推导
弹道修正模拟实验装置的研究
电磁弹簧振子实验装置的改进
基于创新性应用型人才培养的大学物理教学内容的构建
弹簧质量对弹簧振子周期的影响研究
大学物理与高中物理衔接教育的探讨
大学物理实验教学创新模式的探索与实践