徐兵 張建建 許會芳 劉曉偉 孫文洋
摘?要:Mathematica軟件在一些需要完成數據處理和仿真模擬等任務的理工科專業(yè)課程中被廣泛應用。在大學一年級的大學物理實驗教學中引導學生使用Mathematica軟件進行簡單的數據處理和仿真模擬,不僅有利于加深學生對物理知識的理解,還可以顯著提升他們的計算機應用能力,從而為后續(xù)專業(yè)課的學習培養(yǎng)編程思維和能力。本文以四個大學物理實驗為例,詳細介紹了Mathematica軟件在大學物理實驗中的畫圖、數據擬合、數值計算和仿真模擬等功能。
關鍵詞:Mathematica軟件;大學物理實驗;功能示例;物理教學
Mathematica是一款由Wolfram?Research公司開發(fā)的科學計算軟件,它已成為世界上使用最廣泛的數學計算軟件之一,并在很多前沿行業(yè)的科學計算、仿真、建模等工作中發(fā)揮著關鍵作用。
近年來,Mathematica軟件已經被應用到大學物理理論課教學過程中[1]。大學物理教師利用Mathematica軟件進行仿真模擬演示可以幫助學生建立起清晰直觀的物理圖像,從而更好地理解所學知識,這將對提高教學效果起到積極的作用。其實,教師在大學物理課程教學中除了利用Mathematica軟件進行仿真模擬演示,也可以將其應用到大學物理實驗中[24]。在實驗教學中,教師可以向學生簡要介紹Mathematica軟件的使用方法,指導學生使用該軟件進行數據處理。這將充分調動學生學習興趣,提升他們的科學探索能力。此外,對于一些理工科專業(yè),如電子信息工程等,學生在完成大學物理課程學習之后需要學習一些比較復雜的科學計算專業(yè)課程或者進行一些仿真模擬實驗。如果學生在大學物理實驗課程中基本掌握了Mathematica軟件的使用方法,學生可以直接使用Mathematica軟件完成一些在后續(xù)課程中遇到的復雜計算和仿真模擬。
本文將通過舉例詳細介紹Mathematica軟件在大學物理實驗中的畫圖、數據擬合、數值計算和仿真模擬等功能。
1?Mathematica軟件在大學物理實驗中的功能示例
1.1?畫圖功能
Mathematica軟件有非常強大的畫圖功能,人們可以根據自身需要直接調用其中的庫函數畫出精美的圖形。在處理實驗數據時,經常用到的畫圖函數包括:可以畫出給定的函數曲線的Plot函數,繪制點集的ListPlot函數,以及繪制點集的線條ListLinePlot函數。這里我們以使用ListLinePlot函數處理《霍爾效應法測定螺線管軸向磁感應強度分布》實驗中的數據為例[5],介紹Mathematica畫圖功能在大學物理實驗中的應用。
螺線管是由繞在圓柱面上的導線構成的。如果導線環(huán)繞的密度很大,我們可以把螺線管看成是一列共軸的圓形線圈的并排組合。根據理論計算,這種長直螺線管腔中部的磁場是均勻的,而在靠近兩端口處會呈現明顯的不均勻性。在實驗中,我們在設定霍爾電流IH=5.00mA和線圈的勵磁電流IM=500mA后,將霍爾器件從螺線管的一端(x=0cm)逐漸移到另一端(x=30cm),并運用對稱測量法依次得到在不同位置處的霍爾電壓UH。最后,根據計算公式B=UHKHIH,我們得到了螺線管在軸線上特定點處的磁感應強度,如表1所列。
我們以x為橫軸,磁感應強度B為縱軸,利用Mathamatica列出表1中數據并將其連接成曲線。用到的程序命令如下:
In[1]:=x={0,2,4,6,8,10,12,14,15,16,18,20,22,24,26,28,30};
B={1.01,4.12,6.51,6.98,7.15,7.19,7.21,7.22,722,7.22,7.21,7.18,7.16,6.97,6.42,3.98,0.99};
In[3]:=Data=Table[{x[[i]],B[[i]]},{i,1,Length[x]}];
In[5]:=ListLinePlot[Data,Mesh→Full,Frame→True,FrameLabel→{"X(cm)","B(mT)"},PlotRange→{0.5,75},PlotTheme→"Detailed"]
上述程序中In[i]:=表示第i個輸入命令。運行該程序,我們可以得到長直螺線管的軸向磁場分布,如圖1所示。
圖1?螺線管軸向磁感應強度分布曲線
1.2?數據擬合功能
學生在處理物理實驗數據時會遇到從測量數據擬合出特定函數形式的情況,例如《光電效應法測量普朗克常量》和《偏振光的觀測與應用》等。這時,學生可以使用Mathematica軟件中的功能豐富的Fit、FindFit和FittedModel等命令完成數據擬合。
本文,我們以《光電效應法測量普朗克常量》實驗為例介紹Fit命令的使用方法。該實驗中,在利用光電效應試驗儀測得如表2中所示的五組不同入射光(波長分別為λi)對應的截止電壓U0i后,我們需要利用一次函數U0=he(ν-ν0)推導出普朗克常量h。具體地講,使用五組U0i-νi數據擬合出U0-ν之間滿足的一次性函數關系及其斜率k并由h=k×e計算出普朗克常量h。
Mathamatica程序如下:
In[1]:=λi={365.0,404.7,435.8,546.1,577.0};
In[2]:=U0i={1.780,1.456,1.220,0.652,0.550};
In[3]:=νi=(2.99792458*108)/(λi*10-9)
Out[3]:={8.213492×1014,7.407770150728935×1014,6.879129371271225×1014,5.489698919611792×1014,5195709844020797×1014}
In[4]:=data=Table[{νi[[j]],U0i[[j]]},{j,1,Length[λi]}];
In[5]:Fit[data,{1,ν},{ν}]
Out[5]:-1.59386+4.10637×10-15ν
In[6]:h=4.10637*10-15*1.602*10-19
Out[6]:6.5784*10-34
In[7]:Abs[(%-6.626*10-34)/(6.626*10-34)]
Out[7]:0.00718311
上述程序中Out[i]:=表示第i個輸入命令運行后的輸出結果。通過運行該程序,我們可以直接得到不同波長入射光的頻率(如Out[3]所示)以及通過擬合測量數據得到的U0-ν一次函數關系(如Out[5]所示)。最后通過計算得到普朗克常量h的測量值(如Out[6]所示)及其相對誤差(如Out[7]所示)。
1.3?數值計算功能
Mathematica軟件的數值計算能力十分強大,它內嵌幾千個函數,可以滿足多學科中對大規(guī)模復雜計算的需求。我們可以使用Mathematica軟件完成數據量繁雜的實驗數據處理。本文以《光的等厚干涉現象與應用——牛頓環(huán)的測定》為例介紹Mathematica在處理大量實驗數據處理和數值計算方面的應用。
在該實驗中,我們將通過測量牛頓環(huán)計算出平凸透鏡的曲率半徑R。通過調節(jié)牛頓環(huán)儀觀測到清晰的牛頓環(huán)圖像后,我們將十字叉絲水平線的方向與讀數顯微鏡移動方向平行并旋轉讀數輪獲得第m暗環(huán)對應的位置。表3匯總了利用波長λ=589.3nm的單色光進行實驗獲得的觀測數據。
利用表3中的測量數據我們可以計算出第m環(huán)的直徑dm,然后利用計算公式:R=dm2-dn24(m-n)λ得到五組R的測量值,最后我們對其取平均得到平凸透鏡的曲率半徑R的最終測量結果。在此過程中,由于數據量較大,計算過程也比較多,我們可以使用Mathematica程序進行數據的處理并得到最終的計算結果。詳細的程序如下:
In[1]:=DataLm1={21.859,21.797,21.738,21.668,21.585};
DataRm1={14.382,14.473,14.555,14.608,14.689};
In[3]:=DataLm2={14.380,14.453,14.528,14.609,14.679};
DataRm2={21.856,21.789,21.722,21.648,21.580};
In[5]:=DataLn1={21.102,21.012,20.918,20.815,20.718};
DataRn1={15.175,15.286,15.351,15.459,15.547};
In[7]:=DataLn2={15.151,15.243,15.331,15.420,15.523};
DataRn2={21.082,21.002,20.910,20.815,20.712};
In[9]:=dm=(Abs[DataLm1-DataRm1]+Abs[DataLm2-DataRm2])/2;
In[10]:=dn=(Abs[DataLn1-DataRn1]+Abs[DataLn2-DataRn2])/2;
In[11]:=Ri=(dm2-dn2)/(4*10*589.3*106);
In[12]:=MR=Mean[Ri]
Out[12]:=879.604
通過運行上述程序,我們可以很快得到本次實驗我們測得的平凸透鏡的曲率半徑R=879.604mm。
1.4?仿真模擬功能
在《示波器的使用》實驗中,學生需要學會用示波器觀察“拍”效應波形和李薩如圖形。為了讓學生更加清晰地理解波形的產生原理,我們可以使用Mathematica軟件實現簡諧振動合成的仿真模擬。這里我們以兩個相互垂直的簡諧振蕩的合成為例,介紹李薩如圖形的產生過程。以下是Mathematica程序命令:
In[1]:=Manipulate[ParametricPlot[{A1Cos[ω1t+10],A2Cos[ω2t+20]},{t,0,20Pi},
PlotRange→1.05,PerformanceGoal→"Quality",AxesLabel→{"x/cm","y/cm"}],
Style["Vertical:",Bold,Medium],
Dynamic[ParametricPlot[{A1Cos[ω1t+10],t},{t,0,2?Pi},ImageSize→100,AspectRatio→1,PlotRange→{{-1,1},{0,2?Pi}}]],{{ω1,2,"Frequency?ω1"},1,4},{{A1,1,"Amplitude?A1"},0,1},{{10,0,"Phase?10"},0,2?Pi},
Delimiter,Style["Horizontal:",Bold,Medium],
Dynamic[Plot[A2Cos[ω2t?+20],{t,0,2?Pi},ImageSize→100,AspectRatio→1,PlotRange→1]],{{ω2,3,"Frequency?ω2"},1,4},{{A2,1,"Amplitude?A2"},0,1},{{20,Pi/4,"Phase?20"},0,2?Pi},ControlPlacement?→Left]
通過運行上述Mathematica程序命令,我們可以得到兩個簡諧振動x=A1cos(ω1t+φ10)和y=A2cos(ω2t+φ20)在設置為振幅相等、頻率比為2∶3、初始相位差為π/4時合振動的軌跡,如圖2所示。同時,我們可以改變兩個簡諧振動的振幅、頻率和初始相位得到更多形式的李薩如圖形。
2?結論
基于Mathematica在數值計算、繪圖和動畫顯示等方面的強大能力,我們可以使用Mathematica完成大學物理實驗中的數據處理和仿真模擬等實驗過程。這樣,在輔助完成實驗任務的同時,將加深學生對物理知識的理解,提高他們的科學素養(yǎng),激發(fā)他們的學習興趣。此外,對于一些對計算機使用要求比較高的專業(yè)學生而言,在大學物理實驗中使用Mathematica軟件輔助完成實驗,從大一年級開始鍛煉他們應用計算機的能力,有利于培養(yǎng)他們的編程思維和能力,從而為后續(xù)的專業(yè)課學習打下堅實的基礎。因此,作者認為大學物理實驗教師應該在教學過程中加強對學生使用Mathematica等計算機軟件的示范和引導。
參考文獻:
[1]趙近芳.大學物理學[M].北京:北京郵電大學出版社,2018.
[2]陳學文,張家偉,姚雪,等.基于Mathematica的光的干涉實驗的仿真模擬[J].實驗技術與管理,2020,37(09):165169.
[3]胡宗元.基于Mathematica的大學物理模擬實驗[J].大學物理實驗,2015,28(04):9295.
[4]王高亮,孟明,王強.基于Mathematica的楊氏雙縫干涉實驗仿真[J].周口師范學院學報,2018,35(05):4244.
[5]章毛連.大學物理實驗[M].北京:中國農業(yè)出版社,2014.
基金項目:安徽科技學院教育教學改革研究項目(No.X2021036;No.X2021077;No.X2021034)
作者簡介:徐兵(1991—?),男,漢族,山東濱州人,博士,講師,研究方向:引力理論與宇宙學。