MATLAB在制作物理多媒體課件中的應(yīng)用*
王芙蓉紀(jì)婷婷
(寧夏大學(xué)教育學(xué)院寧夏 銀川750021)
湯全武
(寧夏大學(xué)物理電氣信息學(xué)院寧夏 銀川750021)
*寧夏教育廳大學(xué)生創(chuàng)業(yè)計(jì)劃項(xiàng)目,項(xiàng)目編號(hào):12CHY01
指導(dǎo)教師:湯全武(1965-),男,副教授,碩士研究生導(dǎo)師,主要研究方向?yàn)榻逃Y源的開發(fā)與應(yīng)用、數(shù)字媒體應(yīng)用.
摘 要:本文首先利用MATLAB制作出GUI的界面,然后將其轉(zhuǎn)換成.exe文件,可以將該.exe文件與其他教學(xué)軟件相結(jié)合,如Authorware,來彌補(bǔ)各自的缺陷,融合各自的優(yōu)點(diǎn),從而大大提高多媒體課件的質(zhì)量,達(dá)到激發(fā)學(xué)生興趣、提高教學(xué)質(zhì)量的目的.
關(guān)鍵詞:MATLABAuthorware物理教學(xué)
作者簡介:王芙蓉(1989-),女,在讀碩士研究生,教育技術(shù)學(xué)專業(yè).
收稿日期:(2014-12-05)
在當(dāng)前教育信息化的大背景下,使用計(jì)算機(jī)輔助教學(xué)軟件來輔助教學(xué)已成為現(xiàn)代教育技術(shù)的重要組成部分.在初、高中物理的學(xué)習(xí)過程中,由于受教學(xué)條件的影響,每個(gè)物理規(guī)律都能用實(shí)物實(shí)驗(yàn)演示是不可能的,且實(shí)驗(yàn)數(shù)據(jù)處理復(fù)雜,若利用現(xiàn)代教育技術(shù)手段則可以使比較抽象的物理規(guī)律完美呈現(xiàn).MathWorks公司推出的MATLAB軟件具有強(qiáng)大的數(shù)值分析、矩陣運(yùn)算、圖形圖像處理、信號(hào)處理和仿真功能[1].使用MATLAB軟件強(qiáng)大的繪圖和運(yùn)算功能,可以將很多抽象的物理實(shí)驗(yàn)和物理概念表示出來.應(yīng)用MATLAB可以讓學(xué)生體會(huì)到用計(jì)算機(jī)解決物理問題所帶來的方便和樂趣,激發(fā)學(xué)生的學(xué)習(xí)興趣[2].因此,為了加強(qiáng)學(xué)生對(duì)基本物理概念、方法及物理知識(shí)應(yīng)用方面的理解,把學(xué)生從繁重的數(shù)學(xué)計(jì)算中解脫出來,將MATLAB引入到物理教學(xué)是一個(gè)很好的解決方法[3].
本文首先利用MATLAB制作出GUI的界面,然后將其轉(zhuǎn)換成.exe文件,可以將該.exe文件與其他教學(xué)軟件相結(jié)合,如Authorware,來彌補(bǔ)各自的缺陷,融合各自的優(yōu)點(diǎn),從而大大提高多媒體課件的質(zhì)量,達(dá)到激發(fā)學(xué)生興趣,提高教學(xué)質(zhì)量的目的.
1MATLAB的GUI程序設(shè)計(jì)與實(shí)現(xiàn)
MATLAB不僅提供了豐富的圖形命令和圖形函數(shù),還具有強(qiáng)大的圖形用戶界面(GUI)功能.MATLAB GUI由窗口、菜單、按鈕等各種圖形對(duì)象組成,用戶通過鼠標(biāo)動(dòng)作或鍵盤操作選擇、激活這些圖形對(duì)象,使計(jì)算機(jī)產(chǎn)生某種動(dòng)作或變化,如實(shí)現(xiàn)計(jì)算、繪圖等[4].MATLAB GUI界面的制作包括界面設(shè)計(jì)與程序?qū)崿F(xiàn),其過程需要反復(fù)修改才能獲得滿意的界面,一般制作步驟如下:
(1)分析界面所要實(shí)現(xiàn)的主要功能,確定設(shè)計(jì)任務(wù);
(2)構(gòu)思草圖,編排控件的布局,從使用者和功能實(shí)現(xiàn)的角度來審視草圖,并上機(jī)實(shí)現(xiàn);
(3)設(shè)置各控件的屬性;
(4)編寫對(duì)象的相應(yīng)程序,對(duì)實(shí)現(xiàn)的功能進(jìn)行逐項(xiàng)檢查.
例如利用MATLAB GUI制作的“彈簧振子演示實(shí)驗(yàn)”多媒體課件,為了增強(qiáng)課件的交互性,界面中設(shè)計(jì)了“動(dòng)態(tài)演示”、“簡諧函數(shù)”按鈕,為了便于學(xué)生的學(xué)習(xí)和理解,界面中設(shè)計(jì)了“顏色”、“線性”、“線寬”等圖形方面的設(shè)置,為了研究簡諧函數(shù)中各參數(shù)如頻率、振幅、相位對(duì)簡諧運(yùn)動(dòng)波形的影響,界面中可直接輸入的參數(shù)有頻率、振幅、相位.點(diǎn)擊界面中的“動(dòng)態(tài)演示”按鈕,其仿真結(jié)果如圖1所示,在界面上的編輯框中輸入適當(dāng)?shù)膮?shù),其仿真結(jié)果如圖2所示.
圖1 彈簧振子的動(dòng)態(tài)演示
圖2 簡諧振動(dòng)的運(yùn)動(dòng)圖像
利用MATLAB模擬兩個(gè)點(diǎn)電荷的電場線分布,將其制作成多媒體課件,在界面中設(shè)計(jì)了“同種點(diǎn)電荷”、“異種點(diǎn)電荷”、“繪制電場線”等按鈕來增強(qiáng)課件的交互性.在界面中輸入兩個(gè)點(diǎn)電荷的電荷比,可以根據(jù)輸入的值來繪制相應(yīng)的電場線.點(diǎn)擊界面中的“同種點(diǎn)電荷”按鈕,其仿真結(jié)果如圖3所示.點(diǎn)擊界面中的“異種點(diǎn)電荷”按鈕,其仿真結(jié)果如圖4所示.在界面上的編輯框中輸入適當(dāng)?shù)碾姾杀?,?,其仿真結(jié)果如圖5(a)所示,輸入的電荷比為1,其仿真結(jié)果如圖5(b)所示.
圖3 等量同種點(diǎn)電荷形成的電場線
圖4 等量異種點(diǎn)電荷形成的電場線
圖5 兩個(gè)點(diǎn)電荷的電場線繪制
楊氏雙縫干涉實(shí)驗(yàn)是利用分波前法獲得相干光束的典型例子,利用MATLAB對(duì)其進(jìn)行仿真實(shí)驗(yàn),將其制作成多媒體課件,界面中可直接輸入的參數(shù)有波長、光縫距離、光柵到屏幕距離,點(diǎn)擊界面中的“l(fā)ight”按鈕,其仿真結(jié)果如圖6所示.
圖6 雙縫干涉
利用MATLAB仿真穩(wěn)恒電流的磁場分布,以電流環(huán)為例來說明,用MATLAB GUI將其制作成可交互的多媒體課件,為了研究電流環(huán)半徑和電流大小對(duì)電流環(huán)產(chǎn)生磁場分布的影響,界面中可直接輸入的參數(shù)有環(huán)半徑、環(huán)電流、環(huán)分段,在界面上的編輯框中輸入適當(dāng)?shù)膮?shù)值,其仿真結(jié)果如圖7所示.
圖7 穩(wěn)恒電流磁場分布
2MATLAB/GUI轉(zhuǎn)換成exe文件
將MATLAB GUI文件轉(zhuǎn)換格式,轉(zhuǎn)換為.exe文件.步驟如下:首先在Command Window窗口中輸入deploytool命令,打開Deployment Tool界面;在Deployment Tool界面中點(diǎn)擊左側(cè)窗口左上角的Creat a new deployment project,出現(xiàn)新建工程窗口;輸入工程名稱和選擇好保存路徑,點(diǎn)擊“OK”,出現(xiàn)添加工程文件窗口;使用菜單欄中的Add File添加主函數(shù)和其他函數(shù),添加完成后點(diǎn)擊Open project settings window進(jìn)入工程設(shè)置窗口,在Packaging項(xiàng)中勾選Include MATLAB Component Runtime
(MCR)完成設(shè)置.
點(diǎn)擊Build the project,等待Deployment Tool Output窗口顯示編譯結(jié)果.若其窗口未出現(xiàn)錯(cuò)誤提示,則可在Command Window窗口輸入mbuild-setup命令,按照提示進(jìn)行操作即可完成m文件的編譯,具體操作如下:
Please choose your compiler for building standaloneMATLAB applications:
Would you like mbuild to locate installed compilers [y]/n? y
Select a compiler:
[1] Lcc-win32 C 2.4.1 in D:syslcc
[0] None
Compiler: 1
Please verify your choices:
Compiler: Lcc-win32 C 2.4.1
Location: D:syslcc
Are these correct [y]/n? y
Trying to update options file: C:Users
lenovoAppDataRoamingMathWorksMATLAB
R2008acompopts.bat From template: D:in
win32mbuildoptslcccompp.bat
Done…
打開工程生成目錄下的distrib文件夾,其.exe文件即是用MATLAB GUI制作的可獨(dú)立運(yùn)行的文件.運(yùn)行新生成的.exe文件時(shí)會(huì)出現(xiàn)黑屏的現(xiàn)象,黑屏出現(xiàn)之后,運(yùn)行的結(jié)果才會(huì)顯示出來.對(duì)于這個(gè)問題我們可以通過使用添加代碼的方法屏蔽黑屏.
屏蔽MATLAB生成exe文件出現(xiàn)黑屏問題的方法:在MATLAB命令窗口輸入命令cd(prefdir),點(diǎn)擊Enter鍵后換行,然后在窗口中輸入代碼edit compopts.bat,則在編輯窗口會(huì)打開compopts.bat文件,在該文件的最后添加以代碼set LINKFLAGS=%LINKFLAGS%-subsystem windows,保存后重新進(jìn)行MATLAB/GUI程序文件的編譯,即可實(shí)現(xiàn)屏蔽MATLAB生成exe文件時(shí)出現(xiàn)的黑屏問題.
3MATLAB與Authorware結(jié)合形成多媒體課件
在Authorware編輯環(huán)境下,要調(diào)用MAT-LAB/GUI制作的.exe文件,有兩種方法可以實(shí)現(xiàn).
第一種是通過菜單命令進(jìn)行插入:首先從流程圖上拖入一個(gè)顯示圖標(biāo)到流程線的調(diào)用文件處,雙擊該顯示圖標(biāo),在顯示圖標(biāo)的編輯窗口中,執(zhí)行“插入/OLE對(duì)象”,在彈出的對(duì)話框中,選擇“由文件創(chuàng)建”,點(diǎn)擊“瀏覽”按鈕,選擇要插入的.exe文件的位置,勾選“鏈接”復(fù)選框,完成后點(diǎn)擊“確定”按鈕,如圖8所示;選中插入的.exe文件后,執(zhí)行菜單欄中的“編輯”命令,選擇“Linked包裝程序外殼對(duì)象OLE對(duì)象”,如圖9所示,選擇“屬性”,在“對(duì)象屬性”對(duì)話框中,設(shè)置觸發(fā)條件和觸發(fā)值,設(shè)置完成后勾選“打包為OLE對(duì)象”復(fù)選框即可.
圖8 插入對(duì)象
圖9 設(shè)置OLE對(duì)象屬性
圖10 調(diào)用函數(shù)的計(jì)算圖標(biāo)
第二種方法是通過函數(shù)調(diào)用來完成,首先從流程圖上拖入一個(gè)計(jì)算圖標(biāo)到流程線的調(diào)用文件處,打開該計(jì)算圖標(biāo),函數(shù)輸入“JumpOutReturn
("")”,如圖10所示,關(guān)閉該計(jì)算圖標(biāo),在彈出的對(duì)話框中選擇“是”即可,如圖11所示.
圖11 計(jì)算圖標(biāo)保存對(duì)話框
4結(jié)論
MATLAB強(qiáng)大的繪圖功能與Authorware教學(xué)軟件相結(jié)合形成多媒體課件,將其引入到物理教學(xué)中,可以增加課件的交互性,有效地激發(fā)學(xué)生的學(xué)習(xí)興趣,豐富實(shí)驗(yàn)教學(xué)內(nèi)容,提高教學(xué)效率與教學(xué)質(zhì)量,以此促進(jìn)教師和學(xué)生對(duì)物理的學(xué)習(xí).
參 考 文 獻(xiàn)
1張德豐.MATLAB simulink建模與仿真.北京:電子工業(yè)出版社,2009.1~5
2田濤,侯素霞,張清華.MATLAB的數(shù)值計(jì)算在大學(xué)物理教學(xué)中的應(yīng)用.考試周刊,2010(33):190~191
3段秀芝,楊萍萍,趙炯.MATLAB軟件在大學(xué)物理教學(xué)中的應(yīng)用.物理通報(bào),2014(4):29~30
4蔡旭暉,劉衛(wèi)國,蔡立燕.MATLAB基礎(chǔ)與應(yīng)用教程.北京:人民郵電出版社,2009.163
5李斌,陳國杰,謝嘉寧,等.MATLAB在物理實(shí)驗(yàn)CAI課件制作中的應(yīng)用.大學(xué)物理實(shí)驗(yàn),2013,26(3):70~72
TheApplicationofMATLABinMultimediaCoursewareofPhysics
WangFurongJiTingting
(CollegeofEducation,NingxiaUniversity,Yinchuan,Ningxia750021)
TangQuanwu
(CollegeofPhysics,ElectricalEnineeringandInformation,NingxiaUniversity,Yinchuan,Ningxia750021)
Abstract:Under the background of education informatization, computer plays an important role in teaching. At first, this paper use MATLAB to make the GUI interface and then convert them into. exe file which we can use the. exe file to combine with other teaching software, such as Authorware, to supplement their respective defects and integrate their respective advantages. thus we can improve the quality of multimedia courseware greatly, stimulate students' interest and improve the quality of teaching.
Keywords:MATLAB;Authorware;physicsteaching