李 斌,陳國杰,謝嘉寧,張潞英
(佛山科學技術學院,廣東 佛山 528000)
隨著計算機的迅速發(fā)展,計算機輔助教學(CAI)已經(jīng)成為現(xiàn)代教育技術的重要組成部分,它為學生的思維提供了具體而生動的客體形象,它的使用能有效地縮短學生的學習時間,提高教學質量和教學效率。高品質的多媒體課件是CAI的重要保證,而CAI的教學軟件常采用Powerpoint、 Authorware、 Visual Basic、 Flash、3DSMAX等進行制作,這些軟件各有其特色但也都有其局限性。MathWorks公司推出的MATLAB軟件,它具有強大的數(shù)值分析、矩陣運算、圖形圖像處理、信號處理和仿真功能[1]。物理實驗具有原理性強、實驗現(xiàn)象不易觀察、實驗操作比較復雜、實驗數(shù)據(jù)要求嚴格等特點,特別是光學與電學的實驗機理很難觀察[2]。把MATLAB軟件的數(shù)值計算和繪圖的可視化等功能應用到物理實驗的CAI課件制作中,模擬的實驗原理清楚,實驗現(xiàn)象逼真生動,并且課件操作方便、界面友好、交互能力強,能使教學內(nèi)容的科學性與趣味性融為一體,達到提高教學質量,培養(yǎng)學生綜合能力的目的。
在實驗教學實踐中,教師通常運用Power-Point和Authorware等軟件制作物理實驗CAI課件。這些軟件有其優(yōu)點也有其缺陷,例如教師使用最多的PowerPoint,操作簡單,易學易用,大量的模板和自定義動畫可以很容易制作出美觀大方的課件。其不足之處在于PowerPoint制作的課件缺乏交互性,不能作為獨立的教學課件用于個別化教學,不能響應用戶的實時請求產(chǎn)生新的界面。如果在這些軟件制作的課件中應用MATLAB軟件,可以彌補其缺陷,融合各自的優(yōu)點,從而大大提高CAI課件的質量。
ActiveX技術是一門使用和集成組件的技術,通過ActiveX技術可以把MATLAB同外部程序接口[3]。MATLAB可以作為自動化控制器去操縱其他應用程序,也能作為自動化服務器而被其他應用程序所操縱。在VBA中開啟MATLAB自動化服務器的語句為:
Dim matlab As Object
Set matlab=CreateObject(“Matlab.Application”)
執(zhí)行MATLAB命令的語句為:
Matlab.execute(Command)
PowerPoint支持VBA編程,將它作為自動化控制器。MATLAB的ActiveX作為自動化服務器,編程時在VBA中創(chuàng)建MATLAB自動化對象,通過適當?shù)恼Z句可以把MATLAB無縫地接入到PowerPoint中,實現(xiàn)PowerPoint和 MATLAB的數(shù)據(jù)交換[4-5]。在 PowerPoint課件中應用MATLAB來進行計算或繪圖,使幻燈片在放映狀態(tài)中增加實時交互操作功能,增強課件的活力。
例如在“邁克耳遜干涉實驗”的PowerPoint課件中插入MATLAB來進行實時繪圖,對邁克耳遜干涉現(xiàn)象進行仿真。制作過程如下:啟動PowerPoint軟件,在課件中插入一個空白幻燈片。單擊“視圖”工具欄的“Visual Basic”菜單,打開VBA工具欄上的“控件工具箱”。根據(jù)實際需要選擇所需的控件添加到幻燈片上,并分別設置其屬性。在本界面中設置了兩個標簽,一個圖像控件,一個命令按鈕。然后雙擊命令按鈕,在出現(xiàn)的VB編輯窗口中輸入程序,其思路是在Power-Point中將輸入文本框的值通過VBA與MATLAB的接口傳送到MATLAB,由MATLAB執(zhí)行語句,完成相應的計算或繪圖工作,并將結果通過接口傳送回PowerPoint中顯示[6]。限于篇幅在此不列出其代碼。添加好代碼后播放幻燈片,在輸入文本框中鍵入邁克耳遜干涉實驗的MATLAB程序,單擊“仿真”按鈕即可顯示邁克耳遜干涉仿真圖,其運行界面如圖1所示。如果課堂教學中時間有限,課前老師可提前把程序編寫好。在教學中教師可以改變參數(shù)值實現(xiàn)交互功能,例如改變級數(shù)(k)的數(shù)值研究級數(shù)對干涉圖樣的影響[7](如圖1(a)、(b)所示),改變波長(lambda)的數(shù)值研究波長對干涉圖樣的影響等等。這種動態(tài)教學方法可以有效地激發(fā)學生的學習興趣,提高課堂教學質量,豐富教學內(nèi)容。
圖1 PowerPoint中應用MATLAB的動態(tài)仿真執(zhí)行界面
同樣,在Authorware等其他軟件制作的CAI課件中,也可以應用MATLAB軟件來擴充課件的功能,增強實時交互處理能力,為制作適合物理實驗的CAI課件提供了一個新的途徑。
MATLAB不僅提供了豐富的圖形命令和圖形函數(shù),還具有強大的圖形用戶界面(GUI)功能。MATLAB GUI由窗口、菜單、按鈕等各種圖形對象組成,用戶通過鼠標動作或鍵盤操作選擇、激活這些圖形對象,使計算機產(chǎn)生某種動作或變化,如實現(xiàn)計算、繪圖等[8]。用GUI設計物理實驗CAI課件,可以開發(fā)出良好的交互處理系統(tǒng),在人機交互界面,用戶只需輸入相關參數(shù)就可以動態(tài)地顯示實驗仿真結果,使實驗教學即形象又生動。
MATLAB GUI界面的制作包括界面設計與程序實現(xiàn),其過程需要反復修改才能獲得滿意的界面,一般制作步驟如下:
(1)分析界面所要實現(xiàn)的主要功能,確定設計任務;
(2)構思草圖,編排控件的布局,從使用者和功能實現(xiàn)的角度來審視草圖,并上機實現(xiàn);
(3)設置各控件的屬性;
(4)編寫對象的相應程序,對實現(xiàn)的功能進行逐項檢查[9-10]。
例如利用MATLAB GUI制作“RLC串聯(lián)電路的暫態(tài)過程”實驗的CAI課件,此課件為了便于學生基本理論的學習,在界面設計了“實驗目的”、“實驗儀器”、“實驗原理”等信息。為了研究電路中各參數(shù)如電阻、電感、電容及電源電壓對電路暫態(tài)波形的影響,界面可直接輸入的參數(shù)有:電阻R、電感L、電容C及電源電壓E,設計了“放電過程的仿真”和“充電過程的仿真”控件等。編寫相應控件的回調函數(shù)(Callback),限于篇幅在此不列出其代碼,并對其功能進行檢查調試。用戶不需要懂得MATLAB語言,只要在界面上的編輯框中輸入適當?shù)膮?shù)就可以顯示可視化結果,圖2就是輸入?yún)?shù)后RLC串聯(lián)電路放電過程的仿真結果。用戶可以任意修改電阻、電感、電容及電源電壓的數(shù)值,來研究各值對充電與放電過程電路的暫態(tài)波形的影響,同時可實時地判斷其處于何種振蕩狀態(tài),圖2(a)、2(b)為電阻不同時的仿真界面。利用 MATLAB GUI制作的實驗CAI課件,不僅能實現(xiàn)常觀教學中的實驗基本理論的學習,還可以根據(jù)實驗的具體需要設計可交互的編輯框和控件,將比較抽象的數(shù)學運算和物理規(guī)律用動態(tài)的圖形演示,從而加深了學生對物理概念的理解,增強了學習興趣,提高了課堂教學效率和教學質量。
圖2 MATLAB GUI仿真RLC串聯(lián)電路的暫態(tài)過程的界面
針對物理實驗課程的特點,介紹了 MATLAB在物理實驗CAI課件制作中常用的兩種應用情況。利用MATLAB軟件制作的課件可以生動、具體地表現(xiàn)理論知識,其互動性和真實性優(yōu)于一般的動畫及視頻。將MATLAB制作的物理實驗CAI課件引入教學,可以增加課件的交互能力,有效地激發(fā)學生的學習興趣,豐富實驗教學內(nèi)容,提高課堂教學效率與教學質量,為制作高品質的CAI課件提供了一個新的途徑。
[1] 張德豐.MATLAB simulink建模與仿真[M].北京:電子工業(yè)出版社,2009:1-5.
[2] 趙紀平.物理實驗CAI仿真課件的開發(fā)[J].實驗室研究與探索,2001,20(1):27-28.
[3] 李吉吉,張 宏 立.Powerpoint 與 MATLAB 接口實現(xiàn)[J].新 疆 大 學 學 報:自 然 科 學 版,2005,22(3):338-341.
[4] 王雪飛,王昌盛,馬月紅.Matlab ActiveX 技術在“數(shù)字信號處理”教學中的應用[J].電氣電子教學學報,2012,34(1):82-83.
[5] 袁德明.基于 Matlab ActiveX的 CAI制作方法[J].中國教育信息化,2007,1:63-64.
[6] 洪曉靜.利用ActiveX技術制作通信課程CAI課件[J].現(xiàn)代電子技術,2011,34(22):95-97.
[7] 岑敏銳.邁克耳孫干涉儀實驗中等傾干涉環(huán)的計算機模擬[J].物理與工程,2008,18(5):31-33.
[8] 蔡旭暉,劉衛(wèi)國,蔡立燕.MAELAB基礎與應用教程[M].北京:人民郵電出版社,2009:163.
[9] 鐘可君,張海林.基于 MATLAB GUI設計的光學實驗傳真[J].實驗室研究與探索,2010,29(10):52.
[10] 陳垚光,毛濤濤,王正林,等.精通 MATLAB GUI設計[M].北京:電子工業(yè)出版社,2008:268.