張道遠(yuǎn) 趙志琴 梁婉靜
(中山大學(xué)新華學(xué)院經(jīng)濟(jì)與貿(mào)易學(xué)院 廣東·東莞 523133)
MATLAB語(yǔ)言在眾多工科和計(jì)算機(jī)領(lǐng)域是科學(xué)研究者首選的計(jì)算機(jī)數(shù)學(xué)語(yǔ)言,在微積分、線(xiàn)性代數(shù)、積分變換、插值、概率統(tǒng)計(jì)等數(shù)學(xué)分支里也都有著廣泛應(yīng)用。我國(guó)的高等教育教學(xué)中,對(duì)于如何運(yùn)用MATLAB軟件輔助專(zhuān)業(yè)課程教學(xué),在課程設(shè)計(jì)訓(xùn)練、課程實(shí)踐訓(xùn)練等教學(xué)環(huán)節(jié)中有一些探索和研究。而直接將 MATLAB語(yǔ)言引入課堂教學(xué)環(huán)節(jié)的實(shí)踐研究還不多。因此,如何將MATLAB語(yǔ)言真正引入課堂教學(xué),引入課堂教學(xué)的過(guò)程以及引入課堂后的教學(xué)效果將是MATLAB輔助教學(xué)從理論轉(zhuǎn)化為實(shí)踐的關(guān)鍵問(wèn)題。高等數(shù)學(xué)課程理論教學(xué)中有大量的習(xí)題需要計(jì)算涉及到極限、微分求導(dǎo)、積分、級(jí)數(shù)等,此外還有許多二維、三維函數(shù)需要通過(guò)繪圖來(lái)展示、了解函數(shù)軌跡的特點(diǎn),這可以幫助同學(xué)們更好地理解理論。MATLAB軟件包含有微分、積分、極限的指令,可以在命令窗口通過(guò)直接輸入對(duì)應(yīng)指令,一鍵就可得到想要的結(jié)果。此外MATLAB中的循環(huán)、條件語(yǔ)句等能很好的完成重復(fù)和循環(huán)計(jì)算,有利于提高學(xué)生解題的積極性和對(duì)解決問(wèn)題的方法探索。本文以高等數(shù)學(xué)課程為例,探索MATLAB輔助高等數(shù)學(xué)教學(xué)的可行性及教學(xué)效果評(píng)價(jià),以期為豐富該門(mén)課程的教學(xué)方法與手段,提升該門(mén)課程教學(xué)效果,為培養(yǎng)應(yīng)用型人才打下更為堅(jiān)實(shí)的基礎(chǔ)。
中山大學(xué)新華學(xué)院財(cái)務(wù)管理專(zhuān)業(yè)2019級(jí)A班77名學(xué)生有男生22名,女生55名,男女比例為2:5,高等數(shù)學(xué)課程在大學(xué)一年級(jí)開(kāi)設(shè),分為上下兩冊(cè)。學(xué)生是從高中剛進(jìn)入大學(xué),從初等數(shù)學(xué)進(jìn)入高等數(shù)學(xué),在中學(xué)對(duì)求導(dǎo)和積分有一定的基礎(chǔ),但是在中學(xué)階段,只要求學(xué)生能夠進(jìn)行簡(jiǎn)單微積分計(jì)算,對(duì)相應(yīng)的概念基本不了解,難以處理稍復(fù)雜的實(shí)際問(wèn)題。需要進(jìn)一步系統(tǒng)性的講授微積分的基本原理,掌握其中的物理背景和幾何意義,以及知識(shí)點(diǎn)從低維向高維拓展的遷移過(guò)程。
班級(jí)學(xué)生對(duì)計(jì)算機(jī)有一定的了解,中學(xué)時(shí)期開(kāi)設(shè)有計(jì)算機(jī)課,了解電腦基本使用。學(xué)校在一年級(jí)開(kāi)設(shè)有計(jì)算機(jī)基礎(chǔ)和C++課程,對(duì)于需要編寫(xiě)程序的軟件還是很容易接受和上手操作。財(cái)務(wù)管理專(zhuān)業(yè)的學(xué)生在大學(xué)需要通過(guò)多門(mén)考證,大都需要線(xiàn)上操作,未來(lái)參加工作也是基于計(jì)算機(jī)操作,來(lái)校后基本都配備有筆記本電腦,說(shuō)明同學(xué)們對(duì)大學(xué)課程,特別是基于電腦操作的課程有一定心理準(zhǔn)備。當(dāng)同學(xué)們認(rèn)識(shí)到MATLAB語(yǔ)言的學(xué)習(xí)編寫(xiě)不是為了增加學(xué)習(xí)困難,而是節(jié)省計(jì)算時(shí)間,豐富學(xué)習(xí)手段,同學(xué)們就能容易接受在高等數(shù)學(xué)課程中引進(jìn)MATLAB軟件教學(xué),從課內(nèi)到課外引導(dǎo)和激發(fā)學(xué)生學(xué)習(xí)的主觀能動(dòng)性。
在引入MATLAB語(yǔ)言之前,要充分調(diào)動(dòng)學(xué)生對(duì)該軟件的學(xué)習(xí)興趣,才能保證引入后的教學(xué)效果。首先,在理論教學(xué)時(shí),在課堂上對(duì)MATLAB軟件在各個(gè)領(lǐng)域的運(yùn)用做一個(gè)簡(jiǎn)要介紹,針對(duì)具體遇到的理論計(jì)算問(wèn)題,同樣采用編程語(yǔ)言進(jìn)行演示,充分展示其簡(jiǎn)化計(jì)算的優(yōu)勢(shì),同時(shí)讓同學(xué)們對(duì)編程語(yǔ)言有一個(gè)適應(yīng)過(guò)程。在剛開(kāi)始的時(shí)候,不強(qiáng)制使用,主要還是通過(guò)對(duì)比學(xué)習(xí),讓學(xué)生慢慢感受MATLAB語(yǔ)言在與手算相比時(shí)的更加快捷和準(zhǔn)確。
根據(jù)學(xué)校高等數(shù)學(xué)課程的安排,在原有的64個(gè)理論課時(shí)中安排4個(gè)課時(shí)在仿真實(shí)驗(yàn)室進(jìn)行實(shí)操。實(shí)操課主要安排在學(xué)期中間,由學(xué)生對(duì)前一段時(shí)間在理論課上學(xué)習(xí)的內(nèi)容通過(guò)編程語(yǔ)言計(jì)算,并與手算結(jié)果進(jìn)行對(duì)比。平時(shí)在課堂上,老師對(duì)編程語(yǔ)言基本格式要進(jìn)行講解,便于學(xué)生上機(jī)知道如何輸入指令以及運(yùn)行處結(jié)果。為了讓學(xué)生快速將MATLAB語(yǔ)言融入到高等數(shù)學(xué)中,教研室制定了相應(yīng)的MATLAB學(xué)習(xí)內(nèi)容如下:
表1:MATLAB語(yǔ)言學(xué)習(xí)及應(yīng)用
通過(guò)前期理論學(xué)習(xí)以及課堂上的編程語(yǔ)言講解,教學(xué)團(tuán)隊(duì)結(jié)合教研室編寫(xiě)的高等數(shù)學(xué)教材,通過(guò)對(duì)比解題過(guò)程,來(lái)展示編程語(yǔ)言的計(jì)算簡(jiǎn)便性。
?
故f(x)分別在區(qū)間(∞,1)和(3,+∞)內(nèi)單調(diào)增加,在區(qū)間(1,3)內(nèi)單調(diào)減少。
解法二: >>syms x;f=x^3-6*x^2+9*x+3;df=diff(f,x);s=solve(df)
最后一個(gè)指令solve(df)的作用是解方程df=0,得到駐點(diǎn)(可能的極值點(diǎn))有兩個(gè)1與3,由此可知,可能的單調(diào)區(qū)間為( ∞,1),(1,3)與(3,+∞)。
再用指令ezplot(f,[0,4])畫(huà)出函數(shù)圖象(如圖-1),從圖中看,f(x)的單調(diào)增區(qū)間為( ∞,1)、(3,+∞),單調(diào)減區(qū)間是(1,3),極大值點(diǎn)為x=1,極小值點(diǎn)為x=3。
最后用指用subs(f,x,1),subs(f,x,3)求得極大值f(1)=7,極小值f(3)=3。
圖-1
此外,編程語(yǔ)言還可進(jìn)一步建立一個(gè)名為dandiao.m的通用M-文件,只要輸入函數(shù)的表達(dá)式,即可求函數(shù)的單調(diào)區(qū)間。
此時(shí),解決上面例題,只需要在命令窗口輸入dandiao,回車(chē),然后輸入x^3-6*x^2+9*x+3,再回車(chē)即可。
上述兩個(gè)方法中,方法一為傳統(tǒng)解法,針對(duì)給定具體函數(shù)求導(dǎo)計(jì)算駐點(diǎn),然后再分析討論各個(gè)分離區(qū)間上的導(dǎo)數(shù)正負(fù)符號(hào),判斷單調(diào)性并計(jì)算極值。方法二采用編程語(yǔ)言進(jìn)行計(jì)算,思想方法是基于傳統(tǒng)解法過(guò)程,通過(guò)程序編寫(xiě)出普遍適用的M文件,以后在遇到類(lèi)似的題目,只需要輸入相應(yīng)的函數(shù)即可解決,不必要每次從頭開(kāi)始編寫(xiě),這不僅體現(xiàn)計(jì)算機(jī)計(jì)算的快捷性,也體現(xiàn)處計(jì)算機(jī)對(duì)相似問(wèn)題解決的普適性。在該題中,通過(guò)程序編寫(xiě),可以繪出函數(shù)圖形,從圖形中能夠直觀的看出函數(shù)走勢(shì),更容易理解單調(diào)性和極值的特征,進(jìn)而讓學(xué)生感受到MATLAB語(yǔ)言運(yùn)用的優(yōu)勢(shì)。
在MATLAB編程實(shí)操課上,學(xué)生能夠準(zhǔn)時(shí)到達(dá)機(jī)房,打開(kāi)電腦,按照要求做好上課準(zhǔn)備并提前熟悉軟件。少部分同學(xué)選擇自帶電腦,向老師拷貝軟件安裝,這些充分說(shuō)明學(xué)生愿意學(xué)習(xí)MATLAB語(yǔ)言的興趣很高。在課程中,從易到難,把易錯(cuò)點(diǎn)提前列出來(lái)發(fā)給學(xué)生,由學(xué)生對(duì)照教材案例直接操作。教師在課堂巡視,同學(xué)遇到問(wèn)題舉手示意,老師直接指出問(wèn)題,告訴其問(wèn)題出在哪里,以及如何解決。如有普遍遇到的問(wèn)題,就集中講解。整體來(lái)講,學(xué)生提問(wèn)頻率高,解決問(wèn)題的積極性高。
為了對(duì)比程序語(yǔ)言和傳統(tǒng)解題方法的快捷和準(zhǔn)確度,我們選擇5道不同類(lèi)型的題目,讓學(xué)生選擇其中一種方法進(jìn)行計(jì)算,77名學(xué)生中,有64名學(xué)生選擇程序語(yǔ)言方式計(jì)算,完成率100%,有4個(gè)同學(xué)出錯(cuò),正確率93.75%。程序語(yǔ)言的另一個(gè)優(yōu)勢(shì)就是可以對(duì)結(jié)果進(jìn)行自查,甚至同一題目有時(shí)有多種不同的指令輸入,還可以通過(guò)使用多種方法計(jì)算,然后對(duì)比結(jié)果。程序語(yǔ)言的學(xué)習(xí),可以很好地激發(fā)學(xué)生自主學(xué)習(xí)能力,在解決問(wèn)題中通過(guò)不斷嘗試、修正、總結(jié),最后形成一套自己的方法,有利于學(xué)生在面對(duì)實(shí)際問(wèn)題時(shí)形成攻堅(jiān)克難的意志力。
MATLAB語(yǔ)言的學(xué)習(xí)不僅有利于學(xué)生解決遇到的計(jì)算問(wèn)題,通過(guò)期末考核,而且有利于提高學(xué)生的計(jì)算機(jī)應(yīng)用能力,更加深入地認(rèn)識(shí)程序語(yǔ)言在解決實(shí)際問(wèn)題中的巨大優(yōu)勢(shì)。通過(guò)引入MATLAB語(yǔ)言后,學(xué)生在期末考核中的通過(guò)率有很大提高,全班平均分也有顯著提高。此外,學(xué)生參加全國(guó)大學(xué)生數(shù)學(xué)建模競(jìng)賽的積極性也較往年有所提高,主要體現(xiàn)在不會(huì)對(duì)程序語(yǔ)言感到陌生,對(duì)遇到的各種計(jì)算問(wèn)題有了十足的信心。
通過(guò)在中山大學(xué)新華學(xué)院2019級(jí)財(cái)務(wù)管理專(zhuān)業(yè)高等數(shù)學(xué)課程教學(xué)實(shí)踐中引入MATLAB語(yǔ)言,顯示出程序語(yǔ)言輔助理論教學(xué)是行得通的。在引入過(guò)程中,需要做好程序語(yǔ)言課堂介紹和演示,合理安排MATLAB的操作時(shí)間,充分吸引和激發(fā)學(xué)生主動(dòng)學(xué)習(xí)的興趣。在課堂實(shí)踐環(huán)節(jié),選擇合適的例子進(jìn)行練習(xí),并在期末考核中適當(dāng)引入MATLAB語(yǔ)言的考核,有利于學(xué)生提高計(jì)算機(jī)應(yīng)用能力。通過(guò)解決實(shí)際財(cái)務(wù)問(wèn)題,對(duì)于提高學(xué)生應(yīng)用實(shí)踐能力,助力培養(yǎng)新時(shí)代應(yīng)用型人才。