張麗麗
(河南財(cái)經(jīng)政法大學(xué) 數(shù)學(xué)與信息科學(xué)系,河南 鄭州 450002)
科學(xué)計(jì)算能力是二十一世紀(jì)人才不可或缺的,它是數(shù)學(xué)與計(jì)算機(jī)有機(jī)結(jié)合的結(jié)果,其核心內(nèi)容是以現(xiàn)代化的計(jì)算機(jī)及數(shù)學(xué)軟件為工具,以數(shù)學(xué)模型為基礎(chǔ)進(jìn)行模擬研究。同時(shí),它也成為數(shù)學(xué)科學(xué)本身發(fā)展的源泉和途徑之一。高等教育中如何培養(yǎng)學(xué)生的科學(xué)計(jì)算能力正日益受到關(guān)注,已成為當(dāng)前教育改革的核心和焦點(diǎn)之一[1]。
目前,國(guó)內(nèi)高校一般都將數(shù)值分析列入自然科學(xué)和工程技術(shù)的教學(xué)計(jì)劃之中,以期培養(yǎng)學(xué)生的科學(xué)計(jì)算能力。數(shù)值分析是作者主講的課程之一,結(jié)合自己的教學(xué)情況,下面就如何在教學(xué)中培養(yǎng)學(xué)生的科學(xué)計(jì)算能力談一談自己的體會(huì)。
科學(xué)計(jì)算能力就是利用計(jì)算工具和軟件解決學(xué)習(xí)、科研和實(shí)際應(yīng)用中出現(xiàn)的計(jì)算問(wèn)題的能力。與傳統(tǒng)的科學(xué)計(jì)算編程語(yǔ)言C和Fortran相比,Matlab簡(jiǎn)單易學(xué),編程簡(jiǎn)潔,它既有結(jié)構(gòu)化的控制語(yǔ)句,又有面向?qū)ο缶幊痰奶匦裕绦蛳拗撇粐?yán)格,自由度大,程序移植性很好。而且,Matlab的數(shù)據(jù)可視化功能強(qiáng)大,繪圖簡(jiǎn)單,界面友好,繪出的圖形細(xì)膩、空間感強(qiáng),這是傳統(tǒng)編程語(yǔ)言無(wú)法比擬的[2]。所以,我們?cè)跀?shù)值分析的教學(xué)中采用Matlab軟件來(lái)實(shí)現(xiàn)算法,可以把主要精力放在算法的步驟上,而非算法的各個(gè)細(xì)節(jié),這樣有助于學(xué)生從整體上把握算法,掌握算法的核心和要點(diǎn)。例如,列主元Gauss消去法的Matlab程序如下:
此程序要求系數(shù)矩陣A非奇異.程序中(2)-(23)為消元過(guò)程,具體劃分是(3)-(8)為選列主元過(guò)程,(9)-(14)為行交換過(guò)程,(15)-(22)為每一步的消元過(guò)程;(24)-(31)為回代過(guò)程;(32)-(35)是輸出結(jié)果的代碼。因?yàn)椴恍枰x變量,程序編寫(xiě)自由度大,上述列主元Gauss消去法程序簡(jiǎn)潔易懂、一目了然。又因?yàn)榭梢悦嫦驅(qū)ο缶幊?,選主元、行交換、消元和回代過(guò)程等算法要點(diǎn)在程序中也都很詳細(xì)地呈現(xiàn)了出來(lái)。
教師在教學(xué)過(guò)程中將算法的步驟和流程圖講解清楚之后,將相應(yīng)的Matlab程序展示給學(xué)生,講解程序每一部分的功能和要點(diǎn),并將計(jì)算過(guò)程和計(jì)算結(jié)果演示給學(xué)生。講解過(guò)程中最重要的是,要將如何應(yīng)用Matlab軟件和所學(xué)算法解決實(shí)際問(wèn)題的方法教給學(xué)生,讓學(xué)生成為利用計(jì)算機(jī)和軟件進(jìn)行科學(xué)計(jì)算的能手。
在數(shù)值分析的教學(xué)中,理論脫離實(shí)際的問(wèn)題仍然存在。通過(guò)課堂教學(xué),學(xué)生能夠掌握各種數(shù)值方法的基本思想、算法流程和理論分析,也通過(guò)做一些練習(xí)題來(lái)認(rèn)識(shí)算法。不過(guò),這些練習(xí)題一般規(guī)模很小且脫離實(shí)際問(wèn)題,并不能真正地培養(yǎng)學(xué)生的科學(xué)計(jì)算能力。因此,課堂教學(xué)時(shí)引入一些規(guī)模較大且密切聯(lián)系實(shí)際的問(wèn)題,不僅能夠激發(fā)學(xué)生的學(xué)習(xí)興趣、培養(yǎng)學(xué)生的創(chuàng)新精神,而且能夠培養(yǎng)學(xué)生的科學(xué)計(jì)算能力。為了突出教學(xué)主旨,所選問(wèn)題要簡(jiǎn)明扼要,易于闡述清楚,與教學(xué)內(nèi)容能夠有機(jī)地融合在一起。例如,在擬合和插值這一部分,我們可以考慮以下這個(gè)問(wèn)題:
正確的車(chē)與車(chē)之間的跟隨距離對(duì)于安全駕駛很重要。文獻(xiàn)[3]中給了一組車(chē)速與停止距離的數(shù)據(jù),見(jiàn)表1。其中汽車(chē)的速度為v(英里/小時(shí)),司機(jī)的反應(yīng)距離為dr(英尺),剎車(chē)距離為db(英尺),則總的停止距離為d=dr=db。
表1 停止距離的觀測(cè)數(shù)據(jù)和預(yù)測(cè)數(shù)據(jù)
?
假設(shè)從司機(jī)決定需要停車(chē)到剎車(chē)起作用的時(shí)間里車(chē)輛繼續(xù)以常速行駛,則司機(jī)的反應(yīng)距離dr與速度v成比例dr∝v。假定是緊急停車(chē)且整個(gè)停車(chē)過(guò)程中作用的是最大的剎車(chē)力F,則剎車(chē)力所做的功Fdb應(yīng)等于動(dòng)能的變化mv2。而剎車(chē)力F一般與車(chē)的質(zhì)量m成比例,所以剎車(chē)距離與速度之間的關(guān)系為。
用最小二乘法進(jìn)行擬合,可以得到司機(jī)的反應(yīng)距離dr與速度v的比例系數(shù)為
剎車(chē)距離db與速度平方v2的比例系數(shù)為
從而總的停止距離d的模型為
總之,所選問(wèn)題應(yīng)該重點(diǎn)突出,起到點(diǎn)睛作用,既能激發(fā)學(xué)生的創(chuàng)造精神和興趣,又能與算法密切銜接,培養(yǎng)學(xué)生的科學(xué)計(jì)算能力。
目前,學(xué)校有環(huán)境優(yōu)越的機(jī)房供教學(xué)和上機(jī)實(shí)驗(yàn),大部分學(xué)生也都擁有個(gè)人計(jì)算機(jī)。上機(jī)實(shí)驗(yàn)的硬件方面不成問(wèn)題。要想真正激發(fā)學(xué)生的興趣,培養(yǎng)他們的科學(xué)計(jì)算能力,關(guān)鍵是選一些簡(jiǎn)單的、與所學(xué)算法密切相關(guān)的實(shí)際問(wèn)題,讓他們自己動(dòng)手,建立簡(jiǎn)單的數(shù)學(xué)模型,設(shè)計(jì)算法步驟,編寫(xiě)程序,分析計(jì)算結(jié)果。例如,在微分方程的數(shù)值解法這一章,可以給學(xué)生這樣一個(gè)問(wèn)題:某個(gè)銀行的利息是按復(fù)利進(jìn)行計(jì)算的,也就是說(shuō)在計(jì)算復(fù)利時(shí),所得的利息作為本金繼續(xù)產(chǎn)生利息。設(shè)初期存款為1000元,年利率為5%。為了吸引存款人,銀行設(shè)置了計(jì)算復(fù)利的幾種不同期限:半年期、按季度和按月。銀行聲明它的復(fù)利是連續(xù)計(jì)算的,請(qǐng)建立相應(yīng)的微分方程模型,并分別用Euler方法和改進(jìn)的Euler方法計(jì)算存款在10年內(nèi)的增長(zhǎng)情況。
這個(gè)問(wèn)題的數(shù)學(xué)模型很簡(jiǎn)單,但是計(jì)算量大,需要借助計(jì)算機(jī)來(lái)完成。在求解過(guò)程中,學(xué)生將繁雜的計(jì)算任務(wù)編寫(xiě)成程序提交給計(jì)算機(jī)來(lái)完成,一點(diǎn)鼠標(biāo)結(jié)果就出來(lái)了,學(xué)生從中能夠感受到利用所學(xué)算法解決實(shí)際問(wèn)題的快樂(lè),能激發(fā)他們進(jìn)一步學(xué)習(xí)的愿望,有利于培養(yǎng)他們的創(chuàng)新精神和科學(xué)計(jì)算能力。
總的來(lái)說(shuō),數(shù)值分析是一門(mén)理論算法抽象、應(yīng)用廣泛、實(shí)用性強(qiáng)的學(xué)科。單純地講解各種算法的基本原理、計(jì)算步驟和理論分析,教學(xué)也就流于紙上談兵,學(xué)生也會(huì)覺(jué)得枯燥無(wú)味、失去興趣。為了避免這種現(xiàn)象,我們將數(shù)學(xué)建模的思想引入課堂教學(xué),用Matlab軟件實(shí)現(xiàn)算法,并且讓學(xué)生上機(jī)實(shí)驗(yàn)解決實(shí)際問(wèn)題。通過(guò)這些措施,激發(fā)了學(xué)生的學(xué)習(xí)興趣,加深了學(xué)生對(duì)算法和理論的理解,提高了學(xué)生的科學(xué)計(jì)算能力,教學(xué)質(zhì)量得以提高。
[1]蔡大用,白峰杉.高等數(shù)值分析[M].北京:清華大學(xué)出版社,1997.
[2]張志涌.精通 MATLABR2011a[M].北京:北京航空航天大學(xué)出版社,2011.
[3]F.R.Giordano,M.D.Weir,W.P.Fox.數(shù)學(xué)建模(英文版)[M].北京:機(jī)械工業(yè)出版社,2003.