曾慶雨 鄭波 徐梅 劉向虎
摘要:導數是微分學中最基本的概念,是初等數學和高等數學的橋梁,也是高等數學教學的重要組成部分。MATLAB是一高性能的數值計算和可視化軟件,GUI是人機交互的中介。在微分學的學習過程中,導函數的求解過程繁瑣,圖像復雜抽象,難以繪制。本文充分利用MATLAB軟件在繪圖和計算上的優勢,對導數的應用進行GUI仿真,使圖像可視化,導數理論寓于GUI仿真圖形中,讓復雜問題簡單化,數學問題直觀化、具體化。
關鍵詞:導數 MATLAB GUI可視化仿真 高等數學
中圖分類號:TP391.9 文獻標識碼:A 文章編號:1007-9416(2016)08-0059-02
1 引言
高等數學不但是理工科的基礎課程,同時也是專業課的工具課程,其應用十分廣泛[1]。MATLAB GUI將計算機、可視化、程序設計融合到了一個交互式工作環境中,實現數值計算、建模和仿真、可視化及繪圖功能[2-3]。鑒于導數理論復雜抽象,圖形難以繪制。在教學時可采用GUI進行仿真教學,將導數理論與實驗演示相結合,充分利用MATLAB的可視化功能,通過程序編寫實現導數圖像可視化、復雜問題簡單化、抽象內容形象化,并把導數計算結果和圖像使用MATLAB GUI模擬出來,以此達到事半功倍的效果。這樣不僅能讓高等數學的授課方式更能適應學生形象思維的特點,也能激發學生學習的求知欲,提升學會、學好高等數學的信心,體驗解決問題的快樂,使學生真正學有所獲。
2 GUI仿真設計原理
利用MATLAB進行導數的GUI仿真可分為以下四步[4]:
①分析界面所要實現的主要功能,明確設計任務;
②構思并繪制GUI界面草圖;
③利用GUI設計工具制作靜態界面,并進行調整對齊;
④調用回調函數,編寫GUI界面上相應控件功能的程序。
3 GUI仿真演示
通過MATLAB強大的計算功能,能使GUI仿真界面清晰、直觀地反應出參數方程所確定函數的一階導數及二階導數結果,并能繪制其參變量函數及其導函數在某一區間上的圖像,使圖像可視化。
3.1 GUI仿真主要功能及其設計意圖
主要功能:計算參數方程所確定函數的一階導數及二階導數,并繪制其參變量函數、一階導數及其二階導數的圖像。在有必要時還可以保存其函數圖形,為了使圖形變得美觀,顏色多樣化,還可以對其函數圖像進行顏色改變。
設計意圖:計算函數導數,繪制函數圖像,使圖像可視化。
3.2 GUI仿真界面布局[4]
①建立五個靜態文本框,用于標注對應控件提示;
②建立五個可編輯文本框(動態文本框),其中兩個用于輸入參數方程X,Y,兩個用于輸入繪圖區間范圍,一個用于顯示一階導數或二階導數的結果;
③建立四個按鈕,分別用于參數一階求導、參數二階求導、清除和保存圖片;
④建立八個面板,分別用于裝載控件分組;
⑤建立一個坐標軸對象,用于顯示函數圖像;
⑥建立二個下拉菜單,分別用于選擇圖形的顏色和繪圖選項(參數函數的圖像、參數的一階導數圖像和參數的二階導數圖像);
⑦建立兩個單選按鈕和一個復選框,一個單選按鈕用于設置坐標軸邊框打開,一個單選按鈕用于設置坐標軸邊框關閉,一個復選框用于設置網格線打開或關閉;
⑧建立六個菜單欄,分別用于參數求導、保存、Grid、Box、退出和語言。
3.3 制作GUI仿真靜態界面
在命令窗口中輸入GUIDE命令啟動GUIDE創建GUI。在GUI編輯區域中,按草圖構思布置相應控件,并利用對象對齊與分布工具對GUI界面控件對象進行位置調整,使控件對象對齊且分布均勻,致使界面美觀。最后設置相應控件的屬性,便于查找句柄對象,方便編輯和調試代碼。界面布局如圖1所示。
①分別將五個靜態文本框的string屬性設置為:參數x、參數y、T范圍、圖形的顏色和----,Tag屬性分別設置為:x text、y text、T text、ys text和Ttext;
②分別將五個可編輯文本框的string屬性設置為空,Tag屬性分別設置為:inputx edit、inputy edit、tmin edit、tmax edit和jieguo edit;
③分別設置四個按鈕的string屬性為:參數一階求導、參數二階求導、清空和保存圖片,Tag屬性分別設置為:first pushbutton、second pushbutton、clear pushbutton和save pushbutton;
④分別將八個面板的title屬性設置為:可視化GUI求參數導數、結果顯示區、繪圖選項、按鈕選項和圖形顯示;
⑤分別將兩個單選按鈕的string屬性設置為: Set box on和Set box off,Tag屬性分別設置為:radiobutton1和radiobutton2; 復選框的string屬性設置為: Grid on,Tag屬性設置為checkbox1;
⑥將坐標軸的Tag屬性設置為:axes1;
⑦分別將兩個下拉菜單的string屬性設置為:--選擇--、紅色、綠色、藍色、洋紅色、藍綠色和--繪圖選項--、參數函數圖像、參數的一階導數圖像、參數的二階導數圖像,Tag屬性分別設置為:popupmenu1和popupmenu2。最后保存文件名為:gui parameter。
3.4 GUI仿真代碼
編寫MATLAB程序代碼完成程序中變量的賦值、輸入、輸出及繪圖等工作,打開GUI中gui parameter文件,系統自動生成M文件。
3.5 仿真結果
運行程序后在GUI界面中輸入參變量所確定的函數;以參數方程x=cos(t)、y=sin(t)為例,并繪制參變量t在區間-2*pi到2*pi的圖形,點擊參數一階導數按鈕運行仿真界面,如圖2所示;以上述參數方程為例,并繪制參變量t在區間-16*pi到15*pi的圖形,點擊參數二階導數按鈕運行仿真界面,如圖3所示;點擊保存按鈕保存當前坐標軸圖形;當點擊清空按鈕時可清空界面,等待下次求解時的輸入。
4 結語
本文通過對導數的GUI仿真,促使學生深刻理解導數的概念,掌握導數的幾何意義。使復雜的、抽象的、難以想象的問題及圖形難以繪制的函數轉化為可視化GUI界面。降低學習的難度,激發學生學習的求知欲,感受數學的快樂美。除此之外,高等數學中很多抽象的問題也可以通過GUI設計來實現,形象直觀。如:極限、定積分與不定積分、多元函數微分學和無窮級數等等都可以進行MATLAB GUI仿真,便于學生深刻理解和掌握其中的抽象理論。
參考文獻
[1]同濟大學數學系.高等數學(上、下冊).7版[M].北京:高等教育出版社,2014.
[2]陳垚光,毛濤濤,王正林等.精通MATLAB GUI設計(第3版)[M].北京:電子工業出版社,2013.
[3]施曉紅,周佳.精通GUI圖形界面編程[M].北京:北京大學出版社,2003.
[4]羅華飛.MATLAB GUI設計學習手記[M].北京:北京航空航天大學出版社,2014.08.