劉 兵
(1.承德石油高等專科學(xué)校 數(shù)理部,河北 承德 067000;2.河北省儀器儀表工程技術(shù)研究中心,河北 承德 067000)
MATLAB軟件[1-4]是由MathWorks公司出品的一款時(shí)下較流行的數(shù)值計(jì)算型數(shù)學(xué)軟件。該軟件應(yīng)用范圍廣,可擴(kuò)展性強(qiáng),特別是其獨(dú)有的程序設(shè)計(jì)方法以及所提供的GUI圖形界面編程機(jī)制[5-7],可以使程序設(shè)計(jì)者根據(jù)需要,輕松地設(shè)計(jì)與開發(fā)出一些人機(jī)交互性良好的應(yīng)用程序。
“導(dǎo)數(shù)”是高等數(shù)學(xué)課程微分學(xué)教學(xué)[8-9]中所包含的一項(xiàng)重要的基礎(chǔ)性數(shù)學(xué)概念,高等數(shù)學(xué)課程中的許多其他重要數(shù)學(xué)概念的定義及其計(jì)算,包括微分、不定積分、定積分以及常微分方程等等,都離不開它。不僅如此,導(dǎo)數(shù)還有著非常重要的應(yīng)用價(jià)值。如可以利用它去解決一些實(shí)際中有關(guān)變化率的問題(包括物理學(xué)中的求瞬時(shí)速度問題與經(jīng)濟(jì)學(xué)中的求彈性分析和邊際成本問題等),還可以以導(dǎo)數(shù)為研究工具去研究函數(shù)的一些基本特性(包括函數(shù)的單調(diào)性、凹凸性、極值與最值等)和描繪函數(shù)的幾何圖形等等。因此,理解與掌握 “導(dǎo)數(shù)”這個(gè)數(shù)學(xué)概念,對(duì)于學(xué)好整個(gè)高等數(shù)學(xué)課程是至關(guān)重要的。然而,由于實(shí)際教材中對(duì)于導(dǎo)數(shù)的定義較為抽象(通常采用極限形式來定義),嚴(yán)重脫離了 “導(dǎo)數(shù)”概念的實(shí)質(zhì),因此,致使學(xué)生很難理解,許多學(xué)生也因此對(duì)高等數(shù)學(xué)望而生畏。為了解決此類教學(xué)問題,本文通過利用MATLAB GUI編程機(jī)制及其動(dòng)畫設(shè)計(jì)方法[1-3],從 “導(dǎo)數(shù)”概念本身所具有的數(shù)學(xué)含義出發(fā),開發(fā)出了一款輔助教學(xué)演示系統(tǒng)軟件。通過利用該演示系統(tǒng)軟件,可將導(dǎo)數(shù)的變化率實(shí)質(zhì)及其幾何意義,以及導(dǎo)數(shù)在各方面的應(yīng)用直觀地展示出來,從而激發(fā)學(xué)生的學(xué)習(xí)興趣,提高課堂教學(xué)效果。
高等數(shù)學(xué)課程中,與 “導(dǎo)數(shù)”直接相關(guān)的理論教學(xué)內(nèi)容主要有兩個(gè):“導(dǎo)數(shù)的概念”和 “導(dǎo)數(shù)的應(yīng)用” (主要包括利用導(dǎo)數(shù)去求函數(shù)的單調(diào)性、極值與最值等)。這兩個(gè)教學(xué)內(nèi)容是 “導(dǎo)數(shù)”教學(xué)中的難點(diǎn)也是重點(diǎn)。本系統(tǒng)開發(fā)出了針對(duì)以上兩個(gè)教學(xué)內(nèi)容的相應(yīng)演示程序。通過利用該演示系統(tǒng),可從函數(shù)幾何圖像及其動(dòng)態(tài)變化趨勢(shì)上形象地理解以上兩個(gè)教學(xué)內(nèi)容。
MATLAB軟件中,對(duì)于可視化演示程序的開發(fā)一般有兩種實(shí)現(xiàn)方法:一種是利用MATLAB軟件所提供的GUI組件布局開發(fā)工具GUIDE來實(shí)現(xiàn);另一種則是利用組件函數(shù),通過編寫M文件來實(shí)現(xiàn)。本系統(tǒng)所開發(fā)出的演示程序主要采用的是GUIDE開發(fā)方式,即首先建立應(yīng)用程序的GUI圖形用戶界面布局文件,然后,在軟件自動(dòng)生成的大文件中編寫界面布局所包含的各個(gè)組件的回調(diào)函數(shù),在該函數(shù)中,通過編寫程序代碼,實(shí)現(xiàn)演示程序中的各個(gè)功能。
在MATLAB命令窗口中輸入該演示程序的名稱difalgebragui,回車得如圖1所示界面。
圖1 導(dǎo)數(shù)的概念及其幾何意義演示程序運(yùn)行界面
在圖1界面中,輸入f(x)為任意函數(shù),輸入x0為任意值,按 “計(jì)算導(dǎo)數(shù)值”按鈕,即可實(shí)現(xiàn)對(duì)所輸入函數(shù),在輸入點(diǎn)x0處的導(dǎo)數(shù)f′(x0)的計(jì)算。為了理解導(dǎo)數(shù)的定義及其幾何含義,此時(shí),可以點(diǎn)擊 “演示幾何意義”按鈕,演示程序從幾何圖形的動(dòng)態(tài)變化趨勢(shì)的角度來實(shí)現(xiàn)對(duì)該導(dǎo)數(shù)概念的直觀理解。
例如,圖1中輸入f(x) 為x^2-x+1(即書面函數(shù)x2-x+1),輸入x0為1,點(diǎn)擊 “計(jì)算導(dǎo)數(shù)值”按鈕,此時(shí)可求得導(dǎo)數(shù)f′(x0)。為了理解f′(x0)的數(shù)學(xué)含義及其幾何意義,此時(shí),點(diǎn)擊“演示幾何意義”按鈕,即可實(shí)現(xiàn)對(duì)f′(x0)幾何意義的動(dòng)態(tài)演示。動(dòng)態(tài)演示過程中的截圖如圖2所示。
圖2 中,演示圖像下方分別為動(dòng)態(tài)演示過程中自變量x在點(diǎn)x0處的改變量Δx、過點(diǎn)x0處曲線f(x)的割線的斜率,以及當(dāng)前設(shè)定的坐標(biāo)跨度與動(dòng)畫幀數(shù)。其中,坐標(biāo)跨度控制的是圖像橫坐標(biāo)的顯示范圍,動(dòng)畫幀數(shù)則主要控制動(dòng)畫的顯示速度。由圖2易見,伴隨著Δx絕對(duì)值的越來越小,過點(diǎn)x0處曲線f(x)的割線的斜率也越來越接近于過點(diǎn)x0處曲線f(x)的切線的斜率,故而,由導(dǎo)數(shù)的數(shù)學(xué)定義容易理解f′(x)的幾何意0義即為曲線f(x)過點(diǎn)x0處切線的斜率。
1) “求函數(shù)的單調(diào)性與極值”演示程序的應(yīng)用效果。
在MATLAB命令窗口中輸入該演示程序的名稱dandiaogui,回車得如圖3所示界面。
圖3 求函數(shù)單調(diào)性與極值演示程序運(yùn)行界面
在圖3界面中,輸入任意函數(shù)f(x),同時(shí)輸入?yún)^(qū)間的左右端點(diǎn),先后分別點(diǎn)擊 “獲得區(qū)間內(nèi)部駐點(diǎn)”及 “求區(qū)間內(nèi)單調(diào)性”按鈕,可分別獲得所輸入函數(shù)在相應(yīng)輸入?yún)^(qū)間內(nèi)的駐點(diǎn)、單調(diào)性及極值情況。通過點(diǎn)擊 “區(qū)間內(nèi)幾何圖形理解”按鈕,還可直觀地驗(yàn)證所求得結(jié)果的準(zhǔn)確性。
例如, 圖3 中輸入 f(x)為2?x^3-3?x^2 +x-5(即書面函數(shù)2x3-3x2+x-5),輸入?yún)^(qū)間左端點(diǎn)為-2,右端點(diǎn)為4,然后,先后分別點(diǎn)擊 “獲得區(qū)間內(nèi)部駐點(diǎn)”及 “求區(qū)間內(nèi)單調(diào)性”按鈕,此時(shí),演示程序可直接計(jì)算出輸入的函數(shù)在區(qū)間[-2,4]內(nèi)的駐點(diǎn)有兩個(gè),即0.211 32和0.788 68。單增區(qū)間為(-2,0.211 32),(0.788 678,4),單減區(qū)間則為(0.211 32,0.788 678),極大值點(diǎn)為0.211 32,極小值點(diǎn)為0.788 68。通過點(diǎn)擊 “區(qū)間內(nèi)幾何圖像理解”,可以從幾何圖形的角度,對(duì)計(jì)算出的結(jié)果進(jìn)行直觀的驗(yàn)證,如圖4所示。
圖4 求函數(shù)單調(diào)性與極值運(yùn)行效果界面
由圖4易見,演示程序可畫出所輸入函數(shù)在相應(yīng)區(qū)間內(nèi)的幾何圖像。為了加以區(qū)別,在該區(qū)間內(nèi),對(duì)于不同的單調(diào)圖像,系統(tǒng)在繪制時(shí),采用的顏色是不同的。而對(duì)于該區(qū)間內(nèi)所有極值點(diǎn)所對(duì)應(yīng)的曲線上的點(diǎn),也分別利用不同顏色的圓圈來加以標(biāo)注,演示效果形象直觀。
2)“求函數(shù)的最值”演示程序的應(yīng)用效果。
在MATLAB命令窗口中輸入該演示程序的名稱zuizhigui,回車得如圖5所示界面。
圖5 求函數(shù)最值運(yùn)行界面截圖
在圖5界面中,輸入任意函數(shù)f(x),同時(shí)輸入?yún)^(qū)間的左右端點(diǎn),先后分別點(diǎn)擊 “獲得區(qū)間內(nèi)部駐點(diǎn)”及 “求區(qū)間內(nèi)部的最值”按鈕,可分別獲得所輸入函數(shù)在相應(yīng)輸入?yún)^(qū)間內(nèi)的駐點(diǎn)及最值情況,通過點(diǎn)擊 “區(qū)間內(nèi)幾何圖形理解”按鈕,還可以直觀地驗(yàn)證所求得結(jié)果的準(zhǔn)確性。
例如, 圖5 中輸入 f(x)為 x^4-x^3 +2?x^2-x+6(即書面函數(shù)x4-x3+2x2-x+6),輸入?yún)^(qū)間左端點(diǎn)為-2,右端點(diǎn)為6,然后,先后分別點(diǎn)擊“獲得區(qū)間內(nèi)部駐點(diǎn)”及 “求區(qū)間內(nèi)部的最值”按鈕,演示程序可直接計(jì)算出輸入的函數(shù)在區(qū)間[-2,6]內(nèi)的駐點(diǎn)為0.288 39,最大值點(diǎn)為6,最小值點(diǎn)為0.288 39。通過點(diǎn)擊 “區(qū)間內(nèi)幾何圖像理解”按鈕,可以從幾何圖像的角度,對(duì)計(jì)算出的結(jié)果進(jìn)行直觀的驗(yàn)證,如圖6所示。
高等數(shù)學(xué)課程導(dǎo)數(shù)教學(xué)輔助系統(tǒng)是通過利用MATLAB GUI與MATLAB動(dòng)畫設(shè)計(jì)相結(jié)合,并輔以MATLAB符號(hào)工具箱開發(fā)而成。與傳統(tǒng)的多媒體輔助教學(xué)演示系統(tǒng)相比,此類教學(xué)演示系統(tǒng)不僅可以實(shí)現(xiàn)對(duì)演示對(duì)象的動(dòng)態(tài)演示,同時(shí),通過編寫程序代碼,還可以實(shí)現(xiàn)操作者與計(jì)算機(jī)之間的人機(jī)交互,并可以對(duì)演示結(jié)果進(jìn)行定量的分析。因此,整個(gè)演示效果更準(zhǔn)確、生動(dòng),同時(shí)也更貼近于教學(xué)實(shí)際。此種教學(xué)演示程序必將會(huì)得到越來越廣泛的應(yīng)用。