張義靈, 李 潔, 梁冬梅, 羅志榮(玉林師范學院 物理科學與工程技術學院, 廣西 玉林 537000)
在水平面上受穩定約束(即彈簧一端固定不動)的自由振動彈簧振子模型,是由一個實心小球和一輕質彈簧構成,是力學中不可積系統的重要模型[1-2]。文獻[3]中對不同控制參數和初始擺角的彈簧擺運動進行了研究,表明當控制參數頻率比改變時,彈簧擺的運動較為復雜。文獻[4]中對懸掛點在水平方向作勻速或勻變速直線運動的彈簧擺(即受不穩定約束彈簧擺)運動進行了分析和研究,結果表明受不穩定約束彈簧擺的運動比受穩定約束時的運動更為復雜。文獻[5]中從不同條件下單擺的自由振動進行數值模擬,發現在大角度擺動時,該系統作非線性運動。文獻[6-7]中均是研究在水平面上受穩定約束的彈簧振子運動模型,發現當初速度較小時,彈簧振子在水平面上的運動是準周期運動。文獻[8-10]中的研究主要集中在2個或2個以上的彈簧振子系統的運動,都表明了其振動的復雜性。
上述文獻主要從不同角度研究了彈簧擺及彈簧振子的運動,但是對于水平面上受不穩定約束(即彈簧一端可以移動)的彈簧振子運動的研究尚未見報道。鑒于此,本文運用Matlab GUI[11-16]對在水平面上受不穩定約束的彈簧振子的運動進行研究,通過設計GUI進行數值模擬,作出系統的演化曲線、相圖以及運動軌跡,直觀地研究彈簧振子的運動規律。
如圖1所示,在水平面上受不穩定約束的彈簧振子模型,是由一個輕質彈簧和一個大密度的實心小球構成,其中彈簧的勁度系數為k,原長為l;球的質量為m,直徑忽略不計,視為質點。在水平面上建立直角坐標系,分別令彈簧自由伸長點為彈性勢能零點,質點小球所在的水平面為零重力勢能面,質點小球的坐標為(x,y)。彈簧與x軸的夾角為θ0,其一端與x軸交于點A,另一端連接小球。在時間t=0時刻靜止釋放小球(初速度為0),同時使點A以速度v開始沿x軸無摩擦向右作勻速直線運動,求彈簧振子的運動情況。

圖1 水平面上受不穩定約束的彈簧振子示意圖
該系統為保守系統,其拉格朗日方程可以表述為[1,7]
(1)
系統的動能T和勢能V分別為:
系統的拉格朗日函數為
(4)
將式(4)代入式(1),其中q1=x,q2=y,則系統在直角坐標系中的動力學方程為:
(5)
為方便數值計算,對式(5)進行降階處理。定義4個列向量矩陣y=[y1y2y3y4],設y1=x,y2=dx/dt,y3=y,y4= dy/dt,化為一階微分方程組:
(6)
本文運用Matlab中ode 45指令求解非剛性的常微分方程(ODE)式(6),求解語句如下:
[t,y]=ode45('zysfun',[0:0.01:str2num(get(handles.tfinal,'string'))],y0,[],k,m,l,v)
其中:zysfun為系統的子函數文件名,步長為0.01,tfinal為模擬時間結束點;y0為初始條件矢量,k,m,l,v為運動參數。
根據式(6),將系統的微分方程表示為odefun函數的編寫形式,其程序語句如下:
functionydot=zysfun(t,y,flag,k,m,l,v)
ydot=[y(2);-k/m*(y(1)-v*t)*(1-l/sqrt((y(1)-v*t)^2+y(3)^2));y(4); -k/m*y(3)*(1-l/sqrt((y(1)-v*t)^2+
y(3)^2));]
并保存為zysfun.m文件。在t=0 s時,小球初速度為零,矩陣y的初值y0= [y10y30],其中y1、y3為小球x方向、y方向上的初始位置。
圖2為在水平面上受不穩定約束彈簧振子的GUI初始界面設計。

圖2 GUI初始界面設計
運用可視化界面探究該系統,具體操作步驟如下:① 對系統進行分析,靜止釋放小球,同時點A沿x軸作勻速直線運動,運用拉格朗日方程建立直角坐標系下的動力學方程;② 根據第①步的分析,完成設置控制區域的編輯框、靜態文本框以及對Push Button按鈕編寫Callback(回調函數);③ 在已知運動參數以及模擬時間的情況下,運行GUI,通過點擊“計算”按鈕,激活其他按鈕;點擊“曲線”按鈕,彈簧振子的運動情況以曲線形式展現;點擊“保存數據”按鈕,計算結果輸出并保存在Excel文件;④ 最后通過給定的初始條件,輸入不同的運動參數,觀察分析得出不同情況下彈簧振子運動的結果。
在簡諧振動的運動學普遍定義中,質點運動的動力學方程式為[1]
(7)
式中,頻率ω0=k/m。由式(5)和(7)可知,ω0取決于彈簧的勁度系數k和小球質量m。在k和m的值一定時,研究彈簧振子在不同初始條件下的運動情況。
在該系統體系下,選取k=1 N/m,m=0.2 kg,l=1 m,模擬時間取50 s,步長為0.01,當初始角度較小(θ0=5°)和較大(θ0=75°)時,初始條件分別為y0=[0.996 0 0.087 0]和[0.259 0 0.966 0]。當速度分別取較小(v=0.6 m/s)和較大(v=10.2 m/s)值時,彈簧振子運動的情況如圖3和圖4所示。

(a) θ0=5°

(b) θ0=75°
在圖3 (a)中,當速度(v=0.6 m/s)和初始角度(θ0=5°)都較小時,由x方向相圖、x-t曲線可見,彈簧振子在沿x方向上作準周期運動,振幅隨橫坐標時間t作周期性變化的振動,與“拍”現象相似,其特征為:圖中上、下兩部分的峰不對稱,其中上半部分的峰寬度大,而下半部分的峰較尖銳;從y方向相圖、y-t曲線可知,彈簧振子在y方向也作準周期運動,同時可以看到一個有趣的現象,以坐標(0.087,0)為起點,在0~1.307 1 m之間,先向右作半徑逐漸增大的螺旋式運動到右端點,然后再向左作半徑逐漸減小的螺旋式運動回到起點附近坐標(0.047,0.013 4)處,這樣一個螺旋式來回準周期運動;從x-y軌跡圖可知,彈簧振子在二維空間作類似于正弦圖像的準周期運動。而當初始角度較大(θ0=75°)時,通過觀察圖3(b)可知,x方向相圖無明顯特征;在x-t和y-t曲線上的幅度波動較大,得到的運動軌跡無規則變化,彈簧振子在二維空間不再作準周期性運動。但觀察y方向相圖可知,彈簧振子在y方向仍作準周期運動。

(a) θ0=5°

(b) θ0=75°
圖4為速度較大(v=10.2 m/s)時的模擬圖,通過觀察圖4(a),當θ0=5°時,由x方向相圖、x-t曲線可知,彈簧振子在x方向上仍作準周期運動,但相對于“拍”現象不太明顯,其特征與v、θ0較小時相類似;由y方向相圖、y-t曲線可知,彈簧振子在沿y方向作類似于“旋渦”運動,其運動形式為以小中心口為起點,而后半徑逐漸增大;但觀察x-y運動軌跡圖可得,彈簧振子在二維空間作準周期性運動,其特征變化與“拍”現象相似。當θ0=75°時,通過觀察圖4 (b)可知,彈簧振子在二維空間仍作準周期性運動,其中在x方向相圖與x-y軌跡圖上,“拍”現象明顯,而在y方向相圖上,其運動結構則是復雜的閉合曲線,作準周期運動。
由圖3和圖4的分析可得,在θ0、v較小時,彈簧振子在二維空間作類似于正弦的準周期性運動,而在v較小,θ0較大時,彈簧振子將不再作準周期性運動;在v較大時,彈簧振子的運動情況受初始角度θ0的影響較小,仍然在二維空間作單一的半徑增大螺旋式準周期運動;通過比較分析圖3(a)和4(a)可知,在θ0較小時,彈簧振子的運動受速度影響較小,均作準周期運動;比較圖3(b)和4(b)可得:在θ0較大時,彈簧振子的運動受速度影響較大。
本文利用拉格朗日方程推導出在水平面上受不穩定約束彈簧振子運動的動力學方程,運用Matlab GUI對彈簧振子運動情況進行仿真。在水平面上彈簧一端作勻速直線運動時彈簧振子的運動情況較為復雜,彈簧振子運動與彈簧一端的速度大小和初始角度有關;在一定條件下,系統在二維空間作準周期運動。由于篇幅的限制以及系統振動的復雜性,本文只考慮了彈簧一端作勻速運動時不同初始角度下的彈簧振子運動情況,但如果考慮在不同初始條件下彈簧一端作勻變速直線運動,那么彈簧振子的運動情況會更加復雜,我們將作下一步的研究。
參考文獻(References):
[1] 漆安慎, 杜嬋英. 普通物理學教程·力學[M]. 3版. 北京:高等教育出版社, 2012.
[2] 趙凱華, 羅蔚茵. 新概念物理教程·力學[M]. 北京:高等教育出版社, 2001.
[3] 楊正波, 夏清華, 劉思平. 不同控制參數下的彈簧擺[J]. 大學物理, 2011, 30(5):23-26.
[4] 夏清華, 屈少華. 受不穩定約束彈簧擺運動的研究[J]. 大學物理, 2015, 34(4):6-10.
[5] 李 碩, 趙彤帆, 李根全,等. Matlab軟件在單擺自由振動中的應用[J]. 實驗室研究與探索, 2013, 32(11):65-68.
[6] 李 陽, 王 宏, 韓艷玲. 與r的一次方成正比有心力作用下質點的運動研究[J]. 物理通報, 2015, 34(12):4-8.
[7] 李 陽, 王 宏, 韓艷玲,等. 在水平面上受穩定約束的彈簧振子運動研究[J]. 廣西物理, 2015,36(2):31-34.
[8] 黃 焱. 雙彈簧振子在豎直方向的自由振動研究[J]. 大學物理, 2014,33(9):20-23.
[9] 何松林, 黃 焱, 戴祖誠. 對稱雙彈簧振子橫向振動的復雜性研究[J]. 昆明學院學報, 2010, 32(3):86-88.
[10] 楊正波, 夏清華, 劉思平. 多彈簧振子耦合系統運動研究[J]. 大學物理, 2010, 29(4):29-32.
[11] 鐘可君, 張海林. 基于Matlab GUI設計的光學實驗仿真[J]. 實驗室研究與探索, 2010, 29(10):52-53.
[12] 朱飛宇, 徐志宇, 黃國輝,等. 基于MatlabGUI的三容水箱液位實時監控系統設計[J]. 實驗室研究與探索, 2017,36(9):83-86.
[13] 溫 正. MATLAB科學計算[M]. 北京:清華大學出版社, 2017.
[14] 羅華飛. MATLAB GUI設計學習手記[M]. 3版. 北京:北京航空航天大學出版社, 2014.
[15] Hunt B R, Lipsman R L, Rosenberg J M. A guide to MATLAB: for beginners and experienced users[M]. Cambridge: Cambridge University Press, 2014.
[16] Zhang Z, Bai H, Yang G,etal. Computer simulation of Fraunhofer diffraction based on MATLAB[J]. Optik-International Journal for Light and Electron Optics, 2013, 124(20): 4449-4451.