熊青玲,潘林峰,程衍富
(中南民族大學 電子信息工程學院,武漢 430074)
Mathematica 軟件是美國Wolfram Research 公司開發(fā)的數(shù)學軟件,主要可以做數(shù)值運算、符號運算和圖像處理。Mathematica 以其簡單的語法和強大的功能,成為理工科學生學習數(shù)學和物理的重要工具[1]。在Mathematica 新版本中出現(xiàn)的Manipulate命令只用少數(shù)的幾行輸入就能創(chuàng)造出范圍極其廣泛的人機互動的應用。運用Manipulate 命令不需要學習任何復雜的新概念,也不需要了解任何用戶界面的編程思想,只要會使用Mathematica 的基本命令。計算Manipulate 之后得到的輸出是一個人機互動的對象,它包含一個或多個控件,使用這些控件能改變一個或多個參數(shù)的數(shù)值。這個輸出很像一個小型應用程序,它不是一個靜止的結(jié)果,它是一個能和用戶互相作用的運行程序。用戶可以通過點擊和拖拉滑塊來觀看參數(shù)數(shù)值和圖形的實時變化,也即拖拉滑塊的同時數(shù)值在變化。本文將Mathematica 的Manipulate 命令用于示波器實驗的仿真和研究,具體分析了拍現(xiàn)象和李薩如圖[2]。
得到如圖1 所示的交互界面,滑動條可以在給定的范圍內(nèi)改變兩個信號的頻率、振幅和初相。點擊滑動條右邊的“+”號可以看到滑動條實時的數(shù)據(jù)。在改變各個參量的過程中,可以看到當兩個信號的頻率差值遠小于頻率之和時典型的拍現(xiàn)象。
如果是聲振動,當兩個頻率相近的音叉同時振動時,就可聽到時強時弱的“嗡、嗡……”的拍音[3]。在Mathematica 中可以用Play 函數(shù)播放聲音,輸入如下程序:
圖1 拍現(xiàn)象
圖2 拍音
得到如圖2 所示的交互界面,已經(jīng)根據(jù)需要將兩個頻率給定幾組值,任取一組頻率可以播放拍音。圖2 所示當兩個頻率分別取為1 000π 和1 006π時,得到拍頻為3,在給定的3 s 時間里能聽到9 次強音。
在示波器的X 軸和Y 軸輸入頻率成簡單整數(shù)比的兩個正弦電壓,則將看到特殊形狀的軌跡,這就是李薩如圖。在Mathematica 中,兩個垂直方向的諧振動的合成軌跡就是一個簡單的參數(shù)函數(shù)作圖,同樣利用Manipulate 命令可以極其方便地作出交互界面。為了進一步研究李薩如圖,我們另外采用了一個Point 函數(shù),動態(tài)地給出了李薩如圖的形成過程。在Mathematica 中輸入:
只要我們將兩個頻率調(diào)成不同的整數(shù)比,就可以看到穩(wěn)定的典型的李薩如圖,改變兩個相位可以看到相位差取不同值時動態(tài)的李薩如圖。
在實際的示波器實驗中,當我們把兩個信號發(fā)生器的頻率調(diào)到整數(shù)比時,看到的李薩如圖往往也是連續(xù)變化的。例如:采用數(shù)字信號發(fā)生器,當X、Y 分別輸入ν1=1.000 00 kHz、ν2=3.000 00 kHz的信號時,看到的李薩如圖是不穩(wěn)定的。在變化的過程中,以變化到如圖3 所示的形狀時為起點,看到中間上面的峰是右移的。
為了找到這種圖形移動的原因,在Mathematica 中將ω2的值從3 增大一個小量,ω2的值取為3.04,動畫顯示出來的軌跡圖不再重合。當完成一次完整的圖形后,接下來第二次動畫完成的圖形其中間的峰明顯地往右偏移,如圖3 所示。當ω2增加的值越大時,這種偏移越明顯。反之將ω2從3減小,則情況正好相反,如圖4 所示。
這就提示我們,當信號發(fā)生器顯示的頻率為1.000 00 kHz 和3.000 00 kHz 時,實際的頻率比不是1 比3,而是與圖3 的情況一致。要想讓實際信號真正的是1 比3,要么減小頻率ν2,要么增加頻率ν1。
圖3 頻率比為1∶3.04 時的圖形
圖4 頻率比為1∶2.96 時的圖形
在示波器上實際操作,首先固定X 輸入信號不變,微調(diào)Y 輸入信號,當ν2=2.99 997 kHz 時圖像達到最穩(wěn)定的狀態(tài),幾乎是不動的。在此基礎上把頻率朝著減小的方向微調(diào)時,發(fā)現(xiàn)圖像又動起來了,看到中間上面的峰朝左邊移動,調(diào)得越多,移動速度越快;而把此頻率朝著增加的方向微調(diào)時,看到的移動方向正好相反。接下來將Y 輸入信號固定在ν2=3.000 00 kHz,微調(diào)X 輸入到ν1=1.000 01 kHz 正好是最穩(wěn)定的狀態(tài);然后分別朝增加和減小的方向調(diào)節(jié)頻率,也同樣可以看到圖像分別朝不同的方向移動以及移動速度的變化。前后兩組數(shù)據(jù)之比可以寫成等式:
1.000 00/2.999 97 =1.000 01/3.000 00
這說明兩個信號發(fā)生器產(chǎn)生的頻率與實際顯示的數(shù)值存在微小差異。
文獻[4]利用MATLAB 軟件進行作圖,解釋了圖形的移動變化是由頻率與理想頻率存在差異引起的。現(xiàn)在利用Mathematica 的動態(tài)作圖,更加形象直觀地顯示:當兩個分振動的頻率比接近簡單的整數(shù)比時,合振動的軌跡將按照相位差連續(xù)變化所得的圖形順序連續(xù)地過渡重復變化。在實際的實驗操作中,無論是模擬信號發(fā)生器還是數(shù)字信號發(fā)生器,在調(diào)節(jié)李薩如圖的過程中,可以根據(jù)圖形的移動情況對頻率進行微調(diào)。在對應圖像左移和右移的轉(zhuǎn)折點處所對應的頻率,就是圖形最穩(wěn)定的頻率。只要仔細地調(diào)節(jié),可以將李薩如圖調(diào)到最穩(wěn)定的狀態(tài)。
利用Mathematica 的Manipulate 命令作圖,只要掌握Mathematica 的幾個簡單的函數(shù)就可以了,其語法格式與數(shù)學書寫習慣幾乎一樣,對于初學者也是淺顯易懂的。在Mathematica 的界面中,我們能同時看到源代碼和運算輸出的交互界面,可以隨時修改源代碼,隨時輸出動態(tài)交互結(jié)果,這給研究問題帶來極大的方便。
[1]董鍵.Mathematica 與大學物理計算[M]. 北京:清華大學出版社,2010.
[2]程衍富. 大學物理實驗[M]. 北京:北京郵電大學出版社,2010.
[3]趙近芳. 大學物理學[M]. 北京:北京郵電大學出版社,2008.
[4]張世功,劉大衛(wèi),邰貴江. 振動疊加的理論、實驗及其數(shù)值計算[J]. 實驗科學與技術(shù),2011,9(4):61-62.