宋 璐 衛亞博 馮艷平
(1.陜西中醫藥大學醫學技術學院 咸陽 712046)(2.平頂山學院 平頂山 467000)(3.鄭州職業技術學院 鄭州 450121)
振動的合成,由于是研究聲波、光波和電磁波合成的基礎,所以它是大學物理教學中一個非常重要的內容。而兩個相互垂直的簡諧振動在合成的時候,振動結果是兩個分振動的疊加,在不同情況下形成各種各樣的李薩如圖形,所以其合成的過程比一維振動復雜的多[1~3]。在傳統課堂教學中,由于合成的圖形較為抽象,學生很難理解李薩如圖形的合成過程,需要進行隨堂演示。在各種實現李薩如圖形的方法中,使用最為廣泛的就是利用示波器,但是對于傳統的示波器來說,不僅受到顯示原理的限制,很難觀測到初相位變化時的李薩如圖形,而且由于體積較大,非常不便于攜帶,所以使用起來有一定的局限性[4]。文獻[5]給出了一種使用AVR 單片機實現的李薩如圖形合成器的方法,合成效果良好,但是由于儀器本身的限制,不便于教師和學生隨時隨地的使用。文獻[2]給出了一種使用Matlab程序法實現的李薩如圖形合成方法,但由于對編程基礎有一定的要求,所以也無法推廣到沒有任何編程經驗的學生中去。
為此,設計了基于GUI 的Matlab 程序,不僅能夠實現各種李薩如圖形的仿真,用戶還可根據需要任意修改參數,使系統的可操作性大大提高,除此之外,基于Matlab 程序的可移植性,可以將設計好的程序在任何一個計算機中運行,可供用戶隨時隨地的使用,有助于提高學生對李薩如圖形的理解。
李薩如圖是由兩個相互垂直的簡諧振動所合成的,形狀取決于兩個簡諧振動頻率和初相位之間的關系。一般情況下,合振動的軌跡不能形成穩定的圖案,但若兩個分振動頻率成整數比,則合成振動的軌跡就為穩定的曲線,曲線的花樣和分振動的頻率比、初相位有關,得出的圖形叫李薩如圖[7~9]。假設兩個相互垂直的簡諧振動分別用x和y來進行表示,則:

當兩個分振動的振幅和頻率均相等時,合成的結果為橢圓,橢圓的形狀由兩振動的相位差所決定;當兩個分振動的頻率為任意值時,合成的結果就是不穩定且較為復雜的不閉合曲線;而當兩個振動的頻率為整數比時,合成的結果就為穩定的、閉合的曲線圖形,稱為李薩如圖形[10~11]。
Matlab 矩陣實驗室是美國MathWorks 公司出品的商業數學軟件,廣泛的應用于算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和交互式環境。它以矩陣作為基本數據單位,提供了眾多的工具箱,是通用的科學計算、數值仿真及數據可視化的重要工具[12~15]。
李薩如圖程序實現方法,指的是利用Matlab的.m 文件編程實現李薩如圖形的仿真。假設兩路振動參數分別為振動1 振幅為1V,頻率100Hz,初相位0°;振動2 振幅為1V,頻率200Hz,初相位0°,設計的程序如下:
clear
k=2; %設定頻率的比
w1=2*100*pi; %設定振動1頻率為100Hz
w2=k*w1; %設定振動2頻率為200Hz
t=0:0.0001:6.28;
fa=0;
A1=1; %設定振動1振幅
A2=1; %設定振動2振幅
x=A1*sin(w1*t); %定義振動1
y=A2*sin(w2*t+fa); %定義振動2
plot(x,y)
xlabel(‘x’);
ylabel(‘y’);
運行后,兩個相互垂直的簡諧振動的合成結果如圖1所示。

圖1 李薩如的程序實現
或者也可以采用Matlab 中所提供的Simulink仿真工具箱,設計一個如圖2 所示的Simulink 仿真框圖,分別設定兩個分振動的參數,點擊運行仿真按鈕,即可實現不同參數情況下李薩如圖形的合成。

圖2 李薩如的simulink實現框圖
設定參數分別為振動1 的振幅為1V,頻率500Hz,初 相 位0rad;振 動2 的 振 幅 為1V,頻 率300Hz,初相位0rad,點擊運行仿真按鈕,仿真結果如圖3(a)所示;若將頻率分別改為500Hz 和400Hz,合成的李薩如圖形如圖3(b)所示。

圖3 李薩如Simulink合成結果
可以看出,當頻率之比為無理數時,其合成的為不穩定且較為復雜為不閉合的曲線,而當它們的頻率之比為有理數時,得到的是一閉合曲線,即為李薩如圖形,與理論分析結果一致。
使用程序法或者是Simulink 仿真法都可以獲得各種情況下的李薩如圖形,但當需要頻繁修改參數時,使用這兩種方法實現仿真就會變得非常復雜,對使用者的要求提高,使得學生這樣的初學者難以獨立完成。所以,如果能針對此開發出通用的圖形用戶交互界面,用戶只需輸入一些參數,就可以獲得各種情況下的李薩如圖形,對于學生來說,將會非常有意義。
基于Matlab GUI的李薩如圖形實現界面如圖4所示,用戶可以根據需要輸入合適的參數,點擊執行仿真按鈕,即可查看不同情況下的合成結果。

圖4 基于GUI的李薩如圖形的實現
在設計好的GUI軟件中,輸入不同情況下的各個參數,點擊執行仿真按鈕,即可實現各種李薩如圖形的仿真。假設兩振動頻率相同而相位差不同,具體的參數和仿真結果如圖5 所示,可以看出當頻率相同時,兩個相互垂直的振動合成結果為一橢圓,橢圓的形狀由相位差所決定,與理論分析結果一致。

圖5 頻率相同相位差不同的李薩如圖
假設當兩振動相位相同而頻率不同時,具體的參數和仿真結果如圖6 所示,相位不同頻率也不同的情況如圖7 所示。可以看出,當兩個分振動的頻率為任意值時,合成的結果就不穩定且較為復雜的不閉合曲線;而當兩個振動的頻率為整數比時,合成的結果就為穩定的、閉合的曲線圖形,與程序法分析結果一致。

圖6 相位為0°頻率不同的李薩如圖

圖7 相位不同頻率不同的李薩如圖
從以上各種情況下的李薩如仿真結果可以看出,該系統運行穩定,相較于采用程序設計實現李薩如的方法,基于GUI 的方法具有操作簡單,結果直觀清晰的優點。
采用Matlab GUI作為仿真平臺,實現了不同參數情況下的李薩如圖形實現方法。通過對不同情況的實驗現象和仿真結果的比較,可以看出該系統運行結果與李薩如圖形形成理論相符,具有響應速度快,操作簡單,結果直觀形象等特點,使得不具備編程能力的學生也可以獨立操作。除此之外,該系統不受儀器和場地的限制,通過改變一些參數即可獲得不同條件下的李薩如圖形,使得理論課堂教學變得生動形象,對促進學生對振動波動的學習有積極的意義,實現了大學物理教學的現代化。