李聲鋒
數(shù)值分析是高等院校大多數(shù)理工科專業(yè)必須開設(shè)的一門重要課程,在工程技術(shù)等領(lǐng)域日益發(fā)揮著重要的作用[1-3].在利用數(shù)值分析研究工程技術(shù)等問題的過程中,主要是應(yīng)用純數(shù)學(xué)的方法,而對(duì)很多問題的求解,利用紙和筆常常是不可能實(shí)現(xiàn)的,因此有必要借助于計(jì)算機(jī)來完成,適當(dāng)?shù)厥褂脭?shù)學(xué)軟件[4-7]工具將會(huì)使得問題變得很簡(jiǎn)單.Mathematica軟件是由美國Wolfram Re?search公司設(shè)計(jì)開發(fā)的一個(gè)交互式科學(xué)計(jì)算軟件,具有非常強(qiáng)大的計(jì)算功能和作圖功能.
如何改善教學(xué)效果和質(zhì)量?怎樣提高學(xué)生的學(xué)習(xí)興趣?如何增強(qiáng)學(xué)生探究問題的能力?這些應(yīng)該是數(shù)學(xué)教育工作者們常常需要思考的問題.在數(shù)值分析課程教學(xué)中運(yùn)用Mathematica數(shù)學(xué)軟件進(jìn)行交互式教學(xué),寓理論教學(xué)、學(xué)生動(dòng)手實(shí)驗(yàn)與教師演示于一體,可以幫助學(xué)生解決該課程中僅僅依靠紙和筆難以完成的繁雜計(jì)算和繪圖等問題,從而改善教學(xué)效果和質(zhì)量,同時(shí)也能激發(fā)學(xué)生學(xué)習(xí)該課程的興趣和增強(qiáng)學(xué)生探究問題的能力,真正使學(xué)生切身體驗(yàn)數(shù)值分析在實(shí)際中的應(yīng)用.針對(duì)數(shù)值分析課程中的典型知識(shí)點(diǎn),本文通過實(shí)例,介紹了Mathematica數(shù)學(xué)軟件在這些知識(shí)點(diǎn)的交互教學(xué)中的應(yīng)用實(shí)踐,其目的在于探索數(shù)值分析課程新的教學(xué)方法,提高授課教師的教學(xué)質(zhì)量,提升學(xué)生自主學(xué)習(xí)的能力,為新建本科院校培養(yǎng)應(yīng)用型人才提供探索經(jīng)驗(yàn).
早在20世紀(jì)70年代,美國教育心理學(xué)家布朗和帕林薩提出了一種新型教學(xué)方法——交互式教學(xué)方法.該教學(xué)方法以構(gòu)建主義理論和發(fā)展心理學(xué)為基礎(chǔ),在教學(xué)活動(dòng)中倡導(dǎo)貫徹“以學(xué)生為中心”的教育理念:課前引導(dǎo)學(xué)生先要自主學(xué)習(xí),鼓勵(lì)生生探討,提高自學(xué)能力;課中教師和學(xué)生圍繞所學(xué)知識(shí)點(diǎn)積極進(jìn)行師生間、生生間的相互交流,提高學(xué)習(xí)視野;課后要求學(xué)生完成相關(guān)知識(shí)點(diǎn)的作業(yè),可以采用生生互助,提高實(shí)踐能力;在此基礎(chǔ)上,任課教師再進(jìn)行有關(guān)知識(shí)點(diǎn)的歸納總結(jié),使學(xué)生知識(shí)得以鞏固,從而達(dá)到完成知識(shí)點(diǎn)的學(xué)習(xí).交互式教學(xué)方法已在多門課程中得到成功運(yùn)用[8-10],且取得了較好的教學(xué)效果.
由于交互式教學(xué)方法主張學(xué)生可以通過多種方式獲得知識(shí),因此這種教學(xué)方法非常適合數(shù)值分析課程教學(xué),在數(shù)值分析課程中融入Mathe?matica軟件平臺(tái)進(jìn)行教學(xué),學(xué)生可以通過大量的仿真和實(shí)驗(yàn)學(xué)習(xí)理論知識(shí),任課教師可以通過在實(shí)踐過程中的師生互動(dòng)和學(xué)生間的互動(dòng),觀察并了解學(xué)生對(duì)數(shù)值分析課程知識(shí)點(diǎn)的學(xué)習(xí)掌握情況.另一方面,交互式教學(xué)方法也滿足了新建本科高校的實(shí)踐教學(xué)理念:學(xué)生在學(xué)中做、在做中學(xué).因此,交互式教學(xué)方法在我校數(shù)值分析課程的教學(xué)中具有一定的實(shí)踐意義.
我們就對(duì)數(shù)值分析課程中運(yùn)用Mathematica軟件的交互教學(xué)方法的可適用性進(jìn)行了探索.由于Mathematica軟件具有充分集成環(huán)境的符號(hào)計(jì)算系統(tǒng),在利用該軟件作數(shù)學(xué)運(yùn)算與編程時(shí),可以按照數(shù)學(xué)公式的原有樣式進(jìn)行輸入,無需對(duì)數(shù)學(xué)公式的樣式進(jìn)行變形后輸入,因此,Mathemati?ca這種強(qiáng)大的符號(hào)計(jì)算功能使得很多師生在教學(xué)研究和應(yīng)用中更偏好運(yùn)用該軟件進(jìn)行教學(xué)和學(xué)習(xí).在數(shù)值分析課程教學(xué)中,我們選擇運(yùn)用Mathematica軟件,能夠達(dá)到交互教學(xué)的目的,不僅能夠提高學(xué)生對(duì)數(shù)值分析中知識(shí)的掌握,還能夠滿足新建本科院校對(duì)學(xué)生應(yīng)用實(shí)踐能力的培養(yǎng),從而提高了我校數(shù)值分析課程的教學(xué)效果和質(zhì)量.
在數(shù)值分析課程的教學(xué)過程中,為了方便運(yùn)用Mathematica軟件平臺(tái)進(jìn)行交互式教學(xué),一般將授課班級(jí)分成若干學(xué)習(xí)小組,在整個(gè)教學(xué)過程中主要從課前、課中和課后三個(gè)方面進(jìn)行了交互教學(xué)實(shí)踐.
在學(xué)習(xí)數(shù)值分析課程的每一個(gè)知識(shí)點(diǎn)前,任課教師根據(jù)教學(xué)內(nèi)容設(shè)計(jì)討論的問題和有關(guān)教學(xué)準(zhǔn)備資料,在上新課前布置給學(xué)生,由學(xué)生自行預(yù)習(xí),學(xué)生通過各種途徑和方法解決問題并給出答案.比如,在講授數(shù)據(jù)擬合時(shí),我們提前設(shè)置了兩個(gè)問題:首先,要求每小組學(xué)生測(cè)量出上課前一天中任意8個(gè)時(shí)刻的溫度,并將數(shù)據(jù)填入給定的數(shù)據(jù)表中;其次,如果要得到這一天中間某一時(shí)刻的溫度,我們?cè)撊绾谓鉀Q?顯然,要解決該問題,需要運(yùn)用Mathematica軟件進(jìn)行交互式學(xué)習(xí)和教學(xué).某一小組給出的測(cè)量數(shù)據(jù)如表1所示.
表1 數(shù)據(jù)表
運(yùn)行上面的Mathematica程序,不僅得到了該組數(shù)據(jù)的擬合多項(xiàng)式,還顯示了此擬合多項(xiàng)式的圖形與所給數(shù)據(jù)的散點(diǎn)圖,如圖1所示.可見,利用擬合多項(xiàng)式很容易計(jì)算得到中間某一時(shí)刻的溫度.
圖1 表1中的數(shù)據(jù)散點(diǎn)圖與擬合多項(xiàng)式圖形
通過數(shù)值分析課程教學(xué)課前預(yù)習(xí)討論題的設(shè)置,一方面能夠督促學(xué)生進(jìn)行課前學(xué)習(xí)思考,培養(yǎng)自學(xué)能力;另一方面由于課前預(yù)習(xí)資料能夠提供的信息有限,學(xué)生要想更加準(zhǔn)確全面地解決預(yù)習(xí)討論題,需要小組間同學(xué)交流合作,自行搜集信息,自己編寫、調(diào)試Mathematica實(shí)驗(yàn)程序,整理問題答案,這樣就能夠較好地拓寬學(xué)生的知識(shí)面.
在數(shù)值分析課程的課堂教學(xué)中,針對(duì)有關(guān)知識(shí)點(diǎn)的特殊性,提出討論議題,每一小組的學(xué)生根據(jù)所學(xué)的知識(shí)進(jìn)行組內(nèi)探討,并鼓勵(lì)學(xué)生在討論時(shí)積極思考,提出一些自己的見解或看法.比如,在學(xué)習(xí)插值多項(xiàng)式理論時(shí),我們提出問題:在利用等距節(jié)點(diǎn)構(gòu)造Lagrange插值多項(xiàng)式時(shí),是不是給出的節(jié)點(diǎn)越多得到的插值多項(xiàng)式Ln就越精確呢?顯然,在理論上這一問題一時(shí)難以回答.為了能夠清晰、直觀地回答這個(gè)問題,我們可以借助于Mathemati?ca軟件完成交互教學(xué)展示,選取插值函數(shù)在等距節(jié)點(diǎn)個(gè)數(shù)固定(不妨取n=10)的情況下,為了得到插值多項(xiàng)式曲線并觀察插值過程,利用Mathematica中的插值函數(shù)Interpolation[],編寫的Mathematica程序(命令格式)如下.插值得到的圖形與原函數(shù)圖形的比較圖如圖2所示.
從圖2可以看出,a,b,c,d,e五個(gè)過程中節(jié)點(diǎn)固定為11個(gè),依次增加插值多項(xiàng)式次數(shù),當(dāng)插值多項(xiàng)式的次數(shù)較高時(shí),得到的高次插值多項(xiàng)式不能很好地逼近所給函數(shù)(見圖d和圖e),等距節(jié)點(diǎn)高次插值出現(xiàn)如此現(xiàn)象就是著名的“龍格現(xiàn)象”.這種交互式教學(xué),使學(xué)生切身體驗(yàn)了龍格現(xiàn)象,從而在一定程度上增強(qiáng)了學(xué)生探究問題的能力,激發(fā)了學(xué)生學(xué)習(xí)數(shù)值分析課程的興趣,教學(xué)效果得到了明顯改善.
圖2 在11個(gè)等距節(jié)點(diǎn)時(shí)利用多項(xiàng)式插值得到的圖形和原函數(shù)圖形的比較
針對(duì)插值過程的龍格現(xiàn)象,我們自然會(huì)提出一些問題:等距節(jié)點(diǎn)插值過程為什么會(huì)出現(xiàn)龍格現(xiàn)象?如何在插值時(shí)解決龍格現(xiàn)象?這些問題的回答和解決顯然需要學(xué)習(xí)更多的知識(shí),需要繼續(xù)運(yùn)用Mathematica軟件進(jìn)行交互式教學(xué).
在數(shù)值分析課程教學(xué)的課后,任課教師布置相關(guān)知識(shí)點(diǎn)作業(yè).這些作業(yè)的解決不僅需要學(xué)生運(yùn)用Mathematica軟件才能完成,還要讓學(xué)生將做好的作業(yè)通過郵件或?qū)W習(xí)通進(jìn)行提交.比如,在學(xué)習(xí)不動(dòng)點(diǎn)迭代后,需要學(xué)生在課后探究一個(gè)問題:在求解一個(gè)非線性方程的根時(shí),選取不同的迭代函數(shù)進(jìn)行不動(dòng)點(diǎn)迭代,其迭代效果如何?具體地,給定非線性方程x3+4x2-24=0,求其在區(qū)間[0,3]上的正根,探索不同的迭代函數(shù)進(jìn)行不動(dòng)點(diǎn)迭代時(shí)的迭代效果.通過對(duì)學(xué)生作業(yè)的收集整理,學(xué)生對(duì)原方程的改寫,可以得到以下幾種不同的迭代函數(shù).
方法一:原方程可化成x=x-x3-4x2+24,得到迭代函數(shù)φ1(x)=x-x3-4x2+24.
方法二:原方程改寫成4x2=24-x3,考慮所求根為正,選取迭代函數(shù)
方法三:原方程化成x2=24/x-4x,得到迭代函數(shù)
方法四:原方程寫成x2=24/(x+4),得到迭代函數(shù)
給定一個(gè)初始值(不妨取x0=1.5),用以上四種方法迭代計(jì)算,迭代過程的Mathematica程序如下.
分別運(yùn)行各種方法的程序,計(jì)算結(jié)果如表2所示.
表2 不動(dòng)點(diǎn)迭代計(jì)算結(jié)果
從表2可以看出,學(xué)生選取幾種不同的迭代函數(shù)進(jìn)行不動(dòng)點(diǎn)迭代,通過Mathematica軟件進(jìn)行交互式編程運(yùn)行、演示,很快就發(fā)現(xiàn)問題的答案:不同的迭代函數(shù)影響迭代效果.每一小組的學(xué)生通過電子郵件或?qū)W習(xí)通提交了解決該問題的作業(yè)和Mathematica程序,教師就能夠在課下實(shí)現(xiàn)作業(yè)的個(gè)性化批改,也能夠?yàn)槊恳恍〗M的作業(yè)問題提供具有針對(duì)性的回復(fù)、交流,讓學(xué)生對(duì)所學(xué)知識(shí)點(diǎn)的掌握更加準(zhǔn)確、扎實(shí)、牢固.
數(shù)值分析課程教學(xué)強(qiáng)調(diào)運(yùn)用數(shù)學(xué)軟件進(jìn)行交互式教學(xué)以及學(xué)生的自主學(xué)習(xí),在課前、課中和課后都以學(xué)生為中心或主體、教師為主導(dǎo).在數(shù)值分析課程的學(xué)習(xí)過程中,學(xué)生可以完全掌握主動(dòng)權(quán),在組內(nèi)、組間學(xué)會(huì)與他人協(xié)作分工,團(tuán)隊(duì)合作解決學(xué)習(xí)中遇到的各種問題,在更多情況下需要進(jìn)行自主學(xué)習(xí).作為主體的學(xué)生,對(duì)數(shù)值分析課程知識(shí)的獲取和掌握不再完全依賴于任課教師的課堂教學(xué),更多地是在課下利用Mathe?matica軟件平臺(tái)通過自主學(xué)習(xí)解決.假如學(xué)生在學(xué)習(xí)過程中遇到難題,他們首先可以通過組內(nèi)、組間討論,自己查找資料,自己動(dòng)手編寫程序加以解決;其次,學(xué)生也可以通過電子郵件或?qū)W習(xí)通平臺(tái)將問題發(fā)送給任課老師,在任課教師的交流和幫助下,自行解決問題.
在運(yùn)用Mathematica進(jìn)行數(shù)值分析課程交互教學(xué)過程中,學(xué)生課前根據(jù)有關(guān)問題充分準(zhǔn)備,上課時(shí)任課教師通過問答與學(xué)生進(jìn)行直接地互動(dòng)交流,以此了解學(xué)生對(duì)課前預(yù)習(xí)內(nèi)容的掌握情況,修正學(xué)生對(duì)所學(xué)知識(shí)點(diǎn)的認(rèn)識(shí)和看法,再根據(jù)絕大部分學(xué)生的課前準(zhǔn)備情況開展交互教學(xué)活動(dòng),最后通過課后作業(yè),運(yùn)用Mathematica編程解決作業(yè)問題,進(jìn)一步鞏固學(xué)生所學(xué)的數(shù)值分析課程知識(shí)、以保證數(shù)值分析課程的教學(xué)效果,提高學(xué)生學(xué)習(xí)該門課程的成績(jī).
在數(shù)值分析課程教學(xué)中,我們改變傳統(tǒng)的單向理論“灌輸-接受”方式的教學(xué),在課前、課中和課后設(shè)置了相關(guān)知識(shí)點(diǎn)問題,在整個(gè)教學(xué)過程中運(yùn)用Mathematica進(jìn)行交互教學(xué),讓學(xué)生通過自主學(xué)習(xí)的方式不僅掌握有關(guān)理論知識(shí),而且熟練掌握一門數(shù)學(xué)軟件.更多情況下,任課教師要求學(xué)生運(yùn)用所學(xué)的數(shù)值分析理論知識(shí)在Mathemat?ica平臺(tái)上解決實(shí)際問題,從而提高了學(xué)生的動(dòng)手能力,培養(yǎng)了學(xué)生應(yīng)用數(shù)學(xué)的能力.
在數(shù)值分析課程中運(yùn)用Mathematica數(shù)學(xué)軟件進(jìn)行交互式教學(xué),使得教與學(xué)相得益彰.我們利用Mathematica軟件不僅提高了課堂演示效果,而且增強(qiáng)了學(xué)生利用數(shù)學(xué)軟件探究問題的意識(shí),促進(jìn)了學(xué)生學(xué)習(xí)成績(jī)的提高,培養(yǎng)了學(xué)生應(yīng)用數(shù)學(xué)的能力.因此,在數(shù)值分析課程的教學(xué)中運(yùn)用Mathematica進(jìn)行教學(xué)互動(dòng)的實(shí)踐結(jié)果表明,它可以改善該課程的教學(xué)效果和質(zhì)量,激發(fā)學(xué)生學(xué)習(xí)和探究問題的興趣.