孔祥強
(菏澤學院數(shù)學系,山東 菏澤274000)
高等數(shù)學是工科院校的重要基礎課之一,但對該課程的學習,大多數(shù)學生感到很困惑。主要原因是:高等數(shù)學中的概念、定理、推導比較抽象,加上教師往往通過傳統(tǒng)的教學手段教學,很難生動、形象的把高等數(shù)學中的知識點一一解開,但利用Matlab軟件,可方便的進行直觀演示,使學生一目了然,解開學生的疑惑。Matlab軟件是math works公司推出的一套高性能的數(shù)值計算的可視化軟件,采用了面向對象的技術和矩陣的計算方法。將Matlab軟件引入高等數(shù)學的教學中,可使抽象的數(shù)學可視化,達到調動學生學習的積極性,提高授課效率的目的。
Matlab提供了很多有關動畫制作的函數(shù),借助這些函數(shù)可模擬復雜函數(shù)的極限等特征。對于實時動畫,可利用圖形繪制中的擦除屬性“erasemode”,從而保持圖形窗口中大多數(shù)的像素顏色不變,而只更新部分像素顏色,形成運動的圖形[1]。
輸出
圖1 截取動畫的一幀
圖2 函數(shù)最終趨于e
空間曲面是解析幾何中的難點部分,如果用手工在黑板上畫圖,既浪費時間又不精確,學生比較難理解。通過Matlab作圖,可很好的克服這些缺點,不但繪制圖形變的簡單,還可以旋轉圖形,從不同角度觀察圖形,更深入了解函數(shù)的性態(tài)[2]。圖3為馬鞍面z=xy。在圖3的圖形窗口中選擇view→camera toolbar,通過旋轉可得圖4,這樣,馬鞍面的圖形就一目了然了。通過圖形可得出,函數(shù)z=xy在點(0,0)處沒有極值,因為依圖形,在(0,0)的鄰域內,既有大于零的點,又有小于零的點,不符合極值的定義。
輸入 x=-11:0.1:11;y=-11:0.1:11;
[x,y]=meshgrid(x,y);z=x.*y;mesh(x,y,z);
rotate3d on;xlabel('x 軸');ylabel('y 軸');title('z=xy')
圖3 馬鞍面z=xy
圖4 換角度觀察的馬鞍面z=xy
求函數(shù)極值的方法主要有兩種:(1)極值存在的第一充分條件法;(2)極值存在的第二充分條件法[3]。
例如:求函數(shù)y=x3-3x2-9x+17的極值。下面用兩種方法解決該問題。
(1)第一種方法,先求出函數(shù)的導數(shù)y'=3x2-6x-9;作出函數(shù)y及導數(shù)y'的圖形,求出駐點后,直接觀察圖形即可得出駐點是否為極值點,進而可求得極值。
設計方案的質量受參與者個人能力和隨機因素的影響。實驗結束后對兩組參與者的方案平均得分進行了統(tǒng)計,如圖5所示。實驗組和對照組參與者的個人平均得分可以作為兩組參與者能力水平的一個對比。如圖5所示,兩組人員的能力基本持平,如果以平均得分作為衡量能力的一個指標,實驗組的平均能力得分是6.04,對照組是6.05,基本一樣。因此,可以認為實驗結果展示的差異受參與者個人能力的影響并不大。
輸入 syms x
solve(df)
輸出df=3*x^2-6*x-9 ans=3 -1
輸入 x=-4.5:0.1:4.5;y1=x.^3-3*x.^2-9*x+17;y2=3*x.^2-6*x-9;
plot(x,y1,'b-.',x,y2,'r--')grid on
legend('y1=x^3-3x^2-9x+17','y2=3x^2-6x-9')
輸出
圖5 函數(shù)y1及其一階導數(shù)y2的圖形
從程序及圖形可得,函數(shù)的駐點為x1=3,x2=-1。在點x1=3的左側,f'(x)<0;在右側f'(x)>0,故x1=3為函數(shù)的極小值點,極小值為-10。在點x2=-1的左側,f'(x)>0;在右側f'(x)<0,故x2=-1為函數(shù)的極大值點,極大值為22。
(2)第二種方法,求出函數(shù)的二階導數(shù),直接從圖形中判斷二階導數(shù)在駐點處的符號,得出駐點是否為函數(shù)的極值點。
輸入 syms x
y=x.^3-3*x.^2-9*x+17;df=diff(diff(y,x),x)
輸出 df=6*x-6
輸入 x=-4.5:0.1:4.5;y2=3*x.^2-6*x-9;y3=6*x-6;plot(x,y2,'b--',x,y3,'r:')
grid on legend('y2=3x^2-6x-9','y3=6*x-6')
輸出
圖6 函數(shù)y的一階導數(shù)y2及二階導數(shù)y3的圖形
從圖形可得出,在點x1=3處,f″(3)>0,故x1=3為函數(shù)的極小值點;
在點x2=-1處,f″(-1)<0,故x2=-1為函數(shù)的極大值點。
學生在學習《數(shù)學分析》級數(shù)一章的時候,往往遇到很多知識沒有具體證明,不了解數(shù)學知識所反映的具體客觀現(xiàn)象。如學習傅立葉級數(shù)時,為什么能將一個周期函數(shù)展開為傅立葉級數(shù),傅立葉級數(shù)與這個周期函數(shù)有什么關系等,這些問題困擾著很多同學。利用Matlab對數(shù)據(jù)的可視化功能,可很容易的解決這些問題。
數(shù)學上最簡單的表示周期函數(shù)的函數(shù)是正弦函數(shù)和余弦函數(shù),雖然矩形波、鋸齒波均不是三角周期函數(shù),但這些非三角周期函數(shù)也可以用三角級數(shù)的部分和(三角多項式)表示出來,不用過多的理論證明,只需將波形與三角級數(shù)的擬合圖演示出來,就可得出結論[5]。
輸入
t=0:0.01:pi;y0=t/2;y1=sin(t)-sin(2*t)/2;
y2=y1+sin(3*t)/3-sin(4*t)/4;
y3=y2+sin(5*t)/5-sin(6*t)/6;
plot(t,y0,t,y1,t,y2,t,y3)
gtext('y0');gtext('y1');gtext('y2');gtext('y3')
輸出
圖7 鋸齒波與三角多項式的擬合圖
通過上面的擬合圖可得出,隨著三角多項式項數(shù)的增加,三角多項式的曲線越來越接近鋸齒波的圖形,從而得出非三角周期函數(shù)也可以用三角多項式表示出來的結論,從而化解了學生對用三角級數(shù)表示周期函數(shù)理解上的難點。
借助于Matlab強大的計算功能和繪圖功能,可對任意函數(shù)的特性作出初步的判斷和分析,以方便進一步解決實際的問題。將大學數(shù)學與Matlab結合起來,利用現(xiàn)代科技手段,動態(tài)的演示大學數(shù)學中的難點問題,使數(shù)學的理論、數(shù)學的概念不再抽象難懂,有利于培養(yǎng)學生學習的興趣和應用數(shù)學的意識,也為學生以后應用Matlab軟件打下了良好的基礎。應用Matlab可起到事半功倍的效果,從而可進一步提高教學水平和教學質量,推動高等數(shù)學課程的發(fā)展[6]。
[1] 張宏民,王魯陽,張劍.Matlab在解析幾何教學中的應用[J].高師理科刊,2007,27(3):87-89.
[2] 于堅.Matlab軟件在解析幾何教學中的應用[J].廣西教育學院學報,2006(2):16-20.
[3] 姜啟元,邢文訓,謝金星,等.大學數(shù)學實驗[M].北京:清華大學出版社,2005.
[4] 張小紅,張建勛.數(shù)學軟件與數(shù)學實驗[M].北京:清華大學出版社,2004.
[5] 朱艷科.MATLAB在大學數(shù)學教學和實驗中的應用[J].廣西科學院學報,2010,26(1):83-85.
[6] 張國輝.MATLAB在高等數(shù)學中的應用探索[J].當代教育理論與實踐,2009,1(3):105-107.