用MATLAB制作物理研究性课题
福建师范大学第四届
教育科学讨论会论文
用MATLAB制作物理研究性课件
贾谊明
福建师范大学物理系 350007
本文所说的物理研究性课件不同于一般的物理教学课件,它是为了要对某一物
理问题进行专题研究而制作的课件。使用这种研究性课件,可以全面、深入而又直
观地研究和理解物理问题。下面以“滑块下的弹簧摆课件”为例来说明。
设一质量为m的滑块,可在光滑水平细杆1
上无摩擦滑动,滑块下悬挂着一倔强系数为K
的轻弹簧和另一质量为m的小球,小球可在竖2 直平面内摆动,如图1所示。该力学系统虽然简 单,但小球的运动却相当复杂,它属于非线性振 动问题,人们无法求出小球运动的解析解。为深 入研究该物理问题,制作了“滑块下的弹簧摆” 课件。考虑该课件应具有以下几点功能: 1能准确求解出系统(m和m)的运动微 12图1 滑块下的弹簧摆 分方程(用数值计算方法)。
2能准确模拟出系统的运动状况(用实时动画方法)。
3能很方便地绘出各种运动曲线,如m的位移-时间曲线、m的摆角-时间12
曲线、径向位移-时间曲线、摆动相图等。
4可任意修改系统参数(如m、m、K等)和运动初始条件(如r、θ、ω12ooo等)。
由美国MathWorks公司推出的MATLAB软件具有十分强大的数值计算、实时
动画、绘图、仿真等多种功能,还可以通过图形用户界面(GUI)的设计,使所有的操作和数据输入、输出等都在GUI上完成(参看图2)。因而选用MATLAB来制作物理研究性课件是较方便的。
下面先讨论如何给出系统的运动微分方程组及求其数值解。对一个较复杂的力
学系统,有时很难直接用受力
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
、列牛顿定律方程组的办法给出系统的运动微分
方程组,而采用分析力学中的方法却较容易。在本例中,选x、r、θ(参看图1)
为三个独立变量,得出该系统的拉格朗日函数为:
1
L,T,V
11,,22222,,,,,,,mx,m(x,r,rθ,2Sinθrx,2rCosθxθ) (1) 1222
12,k(r,l),mgrCosθ022
其中l为弹簧原长。由拉格朗日方程有: 0
d,L,Ld,L,Ld,L,L,,,,,,,,0,,,0,,,0 (2) ,,,,,,,,,dt,x,xdt,r,rdt,θ,θ,,,,,,
,将(1)式代入(2)中各式,可求解、化简后得出: k,(,)θ,,,,xrlSin
0m,1,,,θ1,2Sin,,,2,θ,θ,(,),,,,rrgCoskrl,,,0 (3) mm,,,12
,,,1k,,,,θ,,2θ,θ,(,)θθ,rgSinrlSinCos,,0,rm,,1,
此即为上述滑块下弹簧摆系统的运动微分方程组,要求出该方程组的解析解是
不可能的,只能用数值计算方法求解。在MATLAB中有多个求解一阶微分方程组
的方法,为此,先要将(3)式改写成一阶微分方程组的形式:
令 ,,,,,θ,,,θz,xz,rz,z,xz,rz, 有: 123456
dzdzdz,312,z,,z,,z,456,dtdtdt,dzk,4,(z,l)Sin(z),203,dtm1, (4) 2,,,dzSin(z)1253,,zz,gCos(z),k(z,l),,,,26320dtmm,12,,,,,dz1k,6zzgSinzzlSinzCosz,,2,(),(,)()()5632033,,,dtzm21,,,
在课件中用ode45指令(它使用 Runge-Kutta 法的四、五阶算法,具有中等精
度,是用于解非刚性一阶微分方程组的最常用方法)来求解此一阶微分方程组,相
2
关的部分程序如下:
t=0:0.005:tend; % 计算时间从0?tend,时间间隔为0.005秒 z=[0,ro,thetao,0,vro,omegao]; % 给出z?z的初始值 16
[t,z]=ode45('hkthbfun',t,z,[],m,m,k,lo); % 调用函数 function hkthbfun计算 12
function zdot=hkthbfun(t,z,flag,m,m,k,lo) 12
g=9.8;
zdot=[z(4);
z(5);
z(6);
k/m*(z(2)-lo)*sin(z(3)); 1
g*cos(z(3))+z(2)*z(6)*z(6)-k*(z(2)-lo)*(sin(z(3))^2/m+1/m); 12
-1/z(2)*(2*z(5)*z(6)+g*sin(z(3))+k*(z(2)-lo)*sin(z(3))*cos(z(3))/m)]; 1
,,,x,r,θ,x,r,θ计算结果得出的矩阵Z中有6列数据,分别为 随时间的变
化数据。应用这些数据,就可以绘制出 x—t,r—t,θ—t及相图曲线等,还可以
用实时动画模拟出系统的运动状况,将系统的运动状况直观地展示出来(参见图2、
图3)。
再来讨论如何设
计课件的图形用户界
面(GUI)。见图2所示,
界面左边是作图区,
用于绘制各种图形;
右边设有多个小文本
编辑框,用于输入(改
变)系统参数和运动初
始条件;还有一大的
文本框用来显示课件
当前运作状态;再用
一弹出框来选择作何
图形,有:运动模拟、
滑块位移曲线、摆角图2 滑块下弹簧摆课件图形用户界面 变化曲线、径向位移曲线、小球相图等;在界面下方还有几个按钮,它们的功能如
各按钮名称所示。
课件的操作也非常容易,其步骤为:
1 确定系统参数 (m
、m、K、L)、运动初始条件(θ、r、ω、V)及计算12ooooro
3
结束的时间tend等
2 点击“计算”按钮开始计算。
3 点击弹出框,选择要绘制的图形。
4 点击“作图”按钮开始绘图。
在第3、4两步之间循环,就可绘出所有的图形。若选择“运动模拟”作图时,
界面上又会出现“暂停”、“继续”两个按钮,点击它们可让系统的运动暂停和继续。
(如图2中所示)。
也可再回到第1步,重新改变参数和运动初始条件,并再次“计算”与“作图”。
5 点击“退出”按钮,则关闭界面,退出。
图3给出了如图2
中的各参数和运动初始
条件:(m=5,m=2,12
K=100,L=1,θ=15,00
ω=0,r=0.6,V=0)0oro
时的几种运动的变化曲
线。改变不同的参数和
运动初始条件,得出的
运动曲线也各不相同,
可由此详细研究每个参
数或初始条件对系统运
动状况的影响。
图3 几种运动的变化曲线
4