馬會(huì)芳,閆映策
(太原師范學(xué)院 物理系,山西 太原 030031)
Matlab GUI在電磁學(xué)可視化教學(xué)中的應(yīng)用
馬會(huì)芳,閆映策
(太原師范學(xué)院 物理系,山西 太原 030031)
針對(duì)電磁學(xué)課程內(nèi)容理論性強(qiáng)、概念抽象的特點(diǎn),利用Matlab強(qiáng)大的數(shù)值計(jì)算和圖形繪制功能,文章以電粒子在均勻電磁場(chǎng)中的運(yùn)動(dòng)和平面電磁波的傳播為例,制作了Matlab圖形用戶(hù)界面,動(dòng)態(tài)展示了帶電粒子的運(yùn)動(dòng)和平面電磁波的傳播,解決了傳統(tǒng)教學(xué)方式在可視化環(huán)節(jié)上難以實(shí)現(xiàn)動(dòng)態(tài)性的問(wèn)題,展現(xiàn)了Matlab的圖形用戶(hù)界面在電磁學(xué)可視化教學(xué)方面的優(yōu)越性。
可視化教學(xué);Matlab GUI;電磁學(xué)
“電磁學(xué)”是物理專(zhuān)業(yè)學(xué)生學(xué)習(xí)的一門(mén)難度較大的專(zhuān)業(yè)課程,主要講授電磁場(chǎng)的基本規(guī)律和性質(zhì)。磁場(chǎng)和電磁波的抽象性,使學(xué)生在學(xué)習(xí)過(guò)程中存在概念難以理解、空間模型構(gòu)建困難的問(wèn)題[1]。教師在電磁學(xué)的教學(xué)過(guò)程中,需要繪制大量的圖形幫助學(xué)生構(gòu)建。傳統(tǒng)的黑板教學(xué),存在繪圖效率低的局限,結(jié)合多媒體教學(xué),雖然將教師從復(fù)雜的繪圖中解放出來(lái),但仍存在動(dòng)態(tài)性、立體性差的問(wèn)題[2]。因此,如何使抽象的模型立體化、動(dòng)態(tài)化,在電磁學(xué)的教學(xué)中就顯得尤為重要。
目前,利用Matlab輔助教學(xué),在電磁學(xué)教學(xué)可視化方面取得了較好的效果,不但提高了教師的教學(xué)效率,也提高了學(xué)生的學(xué)習(xí)效率。Matlab的圖形用戶(hù)界面(Graphical User Interface,GUI)是Matlab推出的圖形用戶(hù)開(kāi)發(fā)環(huán)境,具有操作界面簡(jiǎn)單、交互性強(qiáng)的優(yōu)點(diǎn)[3]。本文將以帶電粒子在電磁場(chǎng)中的運(yùn)動(dòng)和平面電磁波的傳播為例,講述如何利用Matlab GUI實(shí)現(xiàn)在電磁學(xué)教學(xué)中的動(dòng)態(tài)演示。不但可以協(xié)助學(xué)生構(gòu)建直觀的物理情景,還可以激發(fā)學(xué)生的學(xué)習(xí)興趣,而且便于學(xué)生自學(xué)。
Matlab GUI 具有操作界面簡(jiǎn)單的優(yōu)點(diǎn)。用戶(hù)通過(guò)簡(jiǎn)單的鼠標(biāo)操作可以設(shè)計(jì)GUI用戶(hù)界面,同時(shí)自動(dòng)生成m文件框架,只需將程序?qū)懭雖文件中各組件對(duì)應(yīng)的callback函數(shù)下,即可控實(shí)現(xiàn)相應(yīng)組件對(duì)用戶(hù)操作的響應(yīng)。GUI能幫助使用者向計(jì)算機(jī)發(fā)出操作指令。教師在課堂授課的過(guò)程中,使用GUI生成的用戶(hù)界面,無(wú)需根據(jù)不同的物理情景進(jìn)行復(fù)雜的程序操作;學(xué)生自學(xué)時(shí),也不需考慮程序的編寫(xiě)問(wèn)題,通過(guò)與界面間的互動(dòng)即可實(shí)現(xiàn)對(duì)程序的操作。
1.1 帶電粒子在恒定電磁場(chǎng)中的運(yùn)動(dòng)
以帶電粒子在恒定電磁場(chǎng)中的運(yùn)動(dòng)為例,演示Matlab GUI在電磁學(xué)可視化教學(xué)中的應(yīng)用。帶電粒子在不同分布的電場(chǎng)、磁場(chǎng)中有不同的運(yùn)動(dòng)軌跡,情況比較復(fù)雜,考慮帶電粒子以任意速度和角度進(jìn)入電磁場(chǎng)中,運(yùn)動(dòng)方程如下:
將其在空間直角坐標(biāo)系內(nèi)分解:
在Matlab中,調(diào)用ode45函數(shù)求解方程組(2),可獲得帶電粒子在任一時(shí)刻的位置坐標(biāo)。在GUI空白模板上的工具欄中選擇組件,GUI設(shè)計(jì)界面如圖1所示。
圖1 GUI設(shè)計(jì)界面
包括輸入?yún)?shù)的文本框、命令按鈕以及顯示運(yùn)行結(jié)果的坐標(biāo)軸。保存GUI界面,系統(tǒng)將自動(dòng)生成對(duì)應(yīng)的m文件框架。在m文件中,將下列語(yǔ)句寫(xiě)入“開(kāi)始”按鈕對(duì)應(yīng)的callback函數(shù)下:global g Ex Ey Ez Bx By Bz A。
g=get(handles.g_check,’Value’);%獲取重力復(fù)選框的取值,考慮重力時(shí)返回值為1
Bx=str2num(get(handles.Bx,’String’));%獲取用戶(hù)輸入的磁場(chǎng)、電場(chǎng)等參數(shù)
保存并運(yùn)行m文件,生成的GUI界面如圖2所示。用戶(hù)使用時(shí),在參數(shù)設(shè)置區(qū)輸入?yún)?shù),點(diǎn)擊“開(kāi)始”按鈕,帶電粒子的運(yùn)動(dòng)軌跡將在空間直角坐標(biāo)系中顯示。在程序的演示過(guò)程中,學(xué)生們可以直觀地觀察到帶電粒子的動(dòng)態(tài),圖2(a)和(b)分別截取了帶電粒子兩個(gè)不同時(shí)刻的軌跡。通過(guò)界面右側(cè)列表框,還可以選擇在平面坐標(biāo)系中,分解觀察帶電粒子在不同受力方向上的軌跡,更好地幫助學(xué)生理解帶電粒子的受力和運(yùn)動(dòng)狀態(tài)。
可以看出,利用GUI設(shè)計(jì)的操作界面,只需要和界面互動(dòng),就可以顯示運(yùn)動(dòng)的狀態(tài),不涉及復(fù)雜的程序調(diào)試,方便學(xué)生自學(xué),學(xué)生通過(guò)操作觀察,可以全面地構(gòu)建帶電粒子在磁場(chǎng)中的運(yùn)動(dòng)空間模型,深入理解本部分知識(shí)要點(diǎn)。
1.2 平面電磁波的傳播
在電磁學(xué)的課程中還涉及部分平面電磁波的內(nèi)容,學(xué)生們還未學(xué)習(xí)電動(dòng)力學(xué),對(duì)電磁波和波動(dòng)方程難以理解,對(duì)偏微分方程的求解更是一頭霧水,因此給學(xué)生建立一個(gè)平面電磁波的波動(dòng)模型,可以加深學(xué)生對(duì)波動(dòng)傳播以及等相位面的認(rèn)識(shí),為電動(dòng)力學(xué)課程做鋪墊。我們利用有限差分法解波動(dòng)方程[4],結(jié)合GUI設(shè)計(jì)了一個(gè)可以顯示平面電磁波在自由空間傳播狀態(tài)的界面。截取兩個(gè)不同時(shí)刻的波動(dòng),如圖3所示,可以直觀地觀測(cè)到電場(chǎng)的振動(dòng)和波動(dòng)傳播過(guò)程,幫助學(xué)生理解電磁波波動(dòng)狀態(tài)的傳播。
在界面中的列表框中選擇波面圖,如圖4所示,還可以觀察電磁波傳播過(guò)程中的波面圖,紅色表示振動(dòng)處于波峰,藍(lán)色表示處于波谷。通過(guò)演示,既可以提高學(xué)生的空間想象力,又可以加強(qiáng)學(xué)生對(duì)波面及平面電磁波的認(rèn)識(shí)。
圖2 帶電粒子的運(yùn)動(dòng)軌跡
圖3 平面電磁波的波動(dòng)
圖4 平面電磁波的波面
利用Matlab GUI操作簡(jiǎn)單、交互性強(qiáng)的優(yōu)點(diǎn)設(shè)計(jì)動(dòng)態(tài)演示界面,可將電磁學(xué)問(wèn)題清晰直觀地呈現(xiàn)出來(lái),既可以將教師從復(fù)雜的圖形繪制中解放,又能培養(yǎng)學(xué)生的空間想象力,激發(fā)學(xué)生獨(dú)立探索問(wèn)題解決問(wèn)題的能力。本文以帶電粒子在恒定電磁場(chǎng)中的運(yùn)動(dòng)和平面電磁波的傳播為例,制作了動(dòng)態(tài)演示界面,可以看到利用Matlab GUI能夠直觀、動(dòng)態(tài)地演示電磁學(xué)問(wèn)題,這對(duì)輔助電磁學(xué)教學(xué),提高學(xué)生對(duì)物理概念的理解和專(zhuān)業(yè)知識(shí)的獲取都有幫助。
[1]楊凡.電磁學(xué)課程教學(xué)改革探討[J].綿陽(yáng)師范學(xué)院學(xué)報(bào),2011(5):133-136.
[2]錢(qián)旭鴦.教學(xué)設(shè)計(jì)可視化研究:教學(xué)設(shè)計(jì)的視覺(jué)轉(zhuǎn)向[J].全球教育展望,2010(7):30-35.
[3]張志涌,楊祖櫻. Matlab教程R2010a[M].北京:北京航天航空大學(xué)出版社,2010.
[4]趙德奎,劉勇. Matlab在有限差分法數(shù)值計(jì)算中的應(yīng)用[J].四川理工學(xué)院學(xué)報(bào)(自然科學(xué)版),2005(4):61-64.
Application of Matlab GUI in the visualized teaching of electromagnetism
Ma Huifang, Yan Yingce
(Physics Department of Taiyuan Normal University, Taiyuan 030031, China)
In this paper, aiming at the strong theoretical and abstract characteristics of electromagnetism course content, making use of the powerful numerical calculation and graphic rendering function of Matlab. The Matlab user interface is fabricated by taking the motion of the electric particles in the uniform electromagnetic fi eld and the propagation of the plane electromagnetic wave as an example.Dynamic display of the motion of charged particles and the propagation of planar electromagnetic waves, which solves the problem that the traditional teaching methods are dif fi cult to realize the dynamic in the visualization, and demonstrates the superiority of Matlab graphical user interface in electromagnetism visualization teaching.
visualization teaching; Matlab GUI; electromagnetism
國(guó)家自然科學(xué)基金應(yīng)急管理項(xiàng)目;項(xiàng)目編號(hào):11647038。
馬會(huì)芳(1983— ),女,內(nèi)蒙古赤峰,博士,講師;研究方向:理論物理。