史崇升 ,湯全武 ,吳 佳 ,張 然 ,未宏龍
(1.寧夏大學 物理電氣信息學院,寧夏 銀川 750021;2.寧夏大學 教育學院,寧夏 銀川 750021)
Matlab具有可靠的數值計算和符號計算功能、強大的繪圖功能、簡單易學的語言體系以及眾多的應用工具箱[1]。Matlab在高等數學和物理學中的應用廣泛,方法和技術相對成熟,而將Matlab與中學數學教育相結合的實例較少。黃宇[2]以高中數學指數函數為例,將Matlab語言引入數學可視化教學中,通過模擬演示實驗、驗證實驗和探索實驗完成對指數函數的學習;伊馬木·達吾提[3]將Matlab具體應用在中學數學求解多項式、區間求解函數零點、函數求導領域中;朱敏[4]利用 Matlab構造二維曲線、對數函數等初高中常見的函數,把Matlab應用到數學函數教學中,展示基本概念與結論;王愛紅[5]將Maltab應用在中學數理統計的教學中,為信息技術與學科整合提供了解決方案;黎明等人[6]針對Matlab圖形處理的優勢,就其在中學數學和地理所涉及的圖形繪制、數形結合和數據插值擬合等方面的應用做了探討;辛賀華[7]利用MatLab繪制中學數學教學中常用二維和三維函數圖形的問題;李瑞生[8]簡單闡述了“數學實驗”的概念和目標并選用Matlab作為工具,以示例的方式對Matlab在數學實驗中的問題求解這一環節加以討論。在上述Matlab應用于中學數學的實例探索中,存在一個共同問題,即需要教師進行預先或者現場的編程演示,不僅花費的時間較多,而且僅限于熟知Matlab語言的中學一線數學教師,并且實例所涉及的知識點和內容有限,不能充分利用Matlab的功能和特點進行系統的教學。
隨著教育信息化技術的成熟,將網絡技術與Matlab相結合,設計和開發基于網絡平臺的虛擬數學實驗室,可以借助Matlab強大的作圖和分析功能以及對函數圖形進行直接操作的優越性,實現抽象內容形象的動態三維展示,幫助學生充分理解并掌握重點難點,激發學習興趣。同時,對推動改善目前現有的數學教學環境,提高教師的教學效率和學校的教學質量具有重要的促進作用。
系統采用B/S構架體系,用戶只要通過Web瀏覽器即可使用系統進行課程的教學。系統由數學實驗室、管理模塊和數學題庫組成。系統具體的功能結構如圖1所示。

圖1 系統功能結構
數學實驗室結合中學數學的教學實際需求,選用人教版中學數學教材,實驗內容涵蓋教材各章節和知識點,是教材的同步實驗室,并且結果表現形式豐富:(1)幾何處理,包括坐標變換、圖形的放大、縮小、旋轉、移動以及周長、面積、體積計算等;(2)曲線色彩、線型和線寬的靈活改變以及網格的顯示與隱藏;(3)可通過動畫形式展現繪制過程,標準的坐標網格利于用戶觀測數據,且可以通過鼠標獲得所取點的坐標數值;(4)可進行根據用戶需求獲得折線圖、散點圖、直方圖等數據統計結果的顯示;(5)常用三維立體圖、函數曲線圖均可進行360°旋轉,用戶可以清晰地觀測圖像的三視圖并且可以通過鼠標獲取單獨的三視圖;(6)實現參數方便靈活的調整以及目標函數的輸入、運算和繪圖功能;(7)結果可形成文檔或者保存為圖片,方便實驗結果的記錄。同時,數學實驗室提供基于Matlab設計的視頻播放器和學生用計算器。管理模塊用來對用戶、系統信息等的管理與維護。數學題庫由高中數學題庫和初中數學題庫兩部分組成,均按教材分類,包括章節的檢測題、綜合檢測題、升學考試題、中期模擬卷、期末模擬卷等。
系統數學實驗室的設計與實現采用可視化圖形用戶界面設計方法。Matlab中設計GUI程序的前臺界面有全命令行的M文件編程和GUIDE輔助的圖形界面設計兩種方式。GUIDE即Maltab提供的GUI程序的集成化設計和開發環境,其要比前者更為簡單,是一種可視化的圖形用戶界面設計方法[9]。由于數學實驗室是教材的同步實驗室,其設計可根據教材逐一進行實現,界面的制作步驟如圖2所示。

圖2 界面的制作步驟
系統的視頻播放器并非在Web網頁中嵌入播放器,把流媒體作為一個對象直接嵌入到Html中,實現音頻和視頻同步[10-11],而是采用ActiveX技術在微軟的Media Player播放器中實現利用Matlab調用AVI視頻。創建ActiveX控件的Matlab命令函數為actxcontrol,它支持WMPlayer.OCX.7、Windows Media Player播放器??紤]到Windows Media Player需要進行ProgID查詢,即使查到的ProgID準確無誤,創建的視頻播放控件在程序的調試過程中依然錯誤很多,故本系統在設計和開發過程中,利用WMPlayer.OCX.7播放器實現Matlab對AVI視頻的調用,其ProgID即為WMPlayer.OCX.7,利用actxcontrol函數創建控件對象,并利用paly函數實現AVI視頻的播放。
Matlab/GUI程序轉化成EXE文件采用Maltab Compiler工具進行實現。采用對調用控件的CS文件添加方法執行轉換程序的調用事件即可實現VS與Matlab/GUI的接口問題。
系統網絡端的設計與實現包含數據庫的設計、Asp.net技術實現和網站的發布三部分。
數據庫的設計先采用數據庫概念模型設計方法抽象出系統中各個實體之間的聯系,然后在SQL數據庫中建立系統所要的基礎表。
Asp.net技術實現分為業務層和表現層兩層。其中,業務層采用Ado.net技術和數據源綁定控件GridView;表現層主要利用Asp.net的Session內置對象、文本類型控件等控件進行實現。
網站的發布主要是通過對IIS應用服務器進行安裝和配置實現。
數學實驗室由高中數學實驗室和初中數學實驗室2個模塊組成,各模塊均包括相應教材的同步實驗室模塊、視頻播放器和趣味模塊。下面以高中數學實驗室為例,進行實驗室功能的演示。圖3是高中數學實驗室的主界面。

圖3 高中數學主界面
在選修1-1實驗室中選擇輸入曲線方程,輸入任意曲線方程,比如x2+y2-5xy-2x+4y=0,按照要求輸入 x^2+y^2-5*x*y-2*x+4*y,再按繪圖按鈕,并改變結果圖形的顏色、線性和線寬,得到的結果如圖4所示。

圖4 任意曲線方程圖形
對圖4利用工具欄中的放大、三維旋轉、獲取坐標、拖動功能處理,結果如圖5所示。
本文采用Matlab、Asp.net等開發環境和平臺,開發了一個通用性強、簡單實用、功能完善并且基于B/S構架體系的中學數學實驗室系統。將Matlab設計的數學實驗室與網絡技術相結合,充分利用Matlab優秀的數值計算能力和卓越的數據可視化能力以及強大的繪圖功能,進行網絡平臺的可視化教學,實現了數學教學中抽象內容形象化的動態三維展示,改善了傳統教學手段3個“一”的單一性缺點,可促進學校在師資、課程體系、教學內容、教學方法與技術、教學管理等方面系統的改進;促進學生分析問題、解決問題能力的形成,培養學生數形結合的數學思想,形成良好的數學思維習慣,提高教師的教學效率;促進學校充分利用學?,F有的計算機和網絡資源,降低教育投入和資源的浪費。

圖5 工具欄功能演示
[1]樊開陽,林小蘭.基于 Matlab GUI的直流電機 PID調速系統的設計[J].微型機與應用,2013,32(22):62-65.
[2]黃宇,湯全武.Matlab語言在指數函數可視化教學中的應用研究[J].佳木斯教育學院學報,2013(7):210-216.
[3]伊馬木·達吾提.MATLAB在解函數和求導等方面的應用[J].數學學習與研究,2012(15):11-12.
[4]朱敏.Matlab在數學函數教學中的應用[J].內江科技,2009(7):183.
[5]王愛紅.Matlab在統計函數與最小擬合函數的應用[J].成功(教育),2012(18):170.
[6]黎明,計春雷.MATLAB在中學數學和地理教學中的應用[J].考試周刊,2013(8):122-123.
[7]辛賀華.MatLab在中學數學教學中的應用[J].中小學電教,2007(9):48-50.
[8]李瑞生.淺談利用MATLAB開展數學實驗教學[J].甘肅科技縱橫,2006,35(1):150-151.
[9]謝治州,羅曉賓,嚴忠權.基于 MATLAB網絡數學實驗室的構建[J].黔南民族師范學院學報:自然科學,2010(6):9-15.
[10]嚴林祥,張紅雨.基于 Web和 nRF24L01的遠程數據接收器設計[J].電子技術應用,2013,39(10):69-71.
[11]戶青文,鄭凱.網絡數學實驗室的設計[J].湖北廣播電視大學學報,2007,27(2):149-150.