閆常麗 孫志田 趙書(shū)銀
摘 要 數(shù)值分析課程與計(jì)算機(jī)科學(xué)的關(guān)系很密切,并且是一門(mén)應(yīng)用性很廣很強(qiáng)的學(xué)科,每一名從事該課程教學(xué)的教師,若能重新認(rèn)識(shí)本課程的教學(xué)內(nèi)容和學(xué)生學(xué)習(xí)的特征,就會(huì)使該門(mén)課程真正做到不僅培養(yǎng)學(xué)生的數(shù)學(xué)思維活動(dòng)能力,而且更培養(yǎng)學(xué)生應(yīng)用科學(xué)計(jì)算方法分析解決實(shí)際問(wèn)題的能力,基于這種思想本論文給出了以MATLAB為平臺(tái)進(jìn)行數(shù)值分析課程輔助教學(xué)的方法。
關(guān)鍵詞 數(shù)值分析 教學(xué)改革 科學(xué)計(jì)算方法 實(shí)踐教學(xué)
中圖分類(lèi)號(hào):G424文獻(xiàn)標(biāo)識(shí)碼:A
Discussion on the Use of MATLAB Software to
Carry out Numerical Analysis Teaching
YAN Changli, SUN Zhitian, ZHAO Shuyin
(Hebei University of Architecture, Zhangjiakou, Hebei 075000)
Abstract "Numerical Analysis" course is closely related with the computer science curriculum, and is a discipline of very broad and strong application, every teacher in the course of teaching, if re-understanding of the course content and student learning characteristics, it will make the course truly not only students mathematical thinking activity, but also train students to analyze the application of scientific methods to calculate the ability to solve practical problems, based on this idea of the present paper gives an analysis with MATLAB as a platform for numerical curriculum support teaching methods.
Key words numerical analysis; teaching reform; scientific calculation methods; practice teaching
如何將MATLAB軟件融入到數(shù)值分析課程課堂的教學(xué)中,使得課堂教學(xué)能達(dá)到更好的效果,是所有從事數(shù)值分析課程教師需思考的一個(gè)問(wèn)題?;跀?shù)值分析課程的特點(diǎn)和MATLAB軟件具有的強(qiáng)大數(shù)值計(jì)算功能,我們將MATLAB軟件作為平臺(tái)來(lái)進(jìn)行數(shù)值分析課程的輔助教學(xué),通過(guò)在教學(xué)中的實(shí)際應(yīng)用,發(fā)現(xiàn)它能更好地激發(fā)學(xué)生的學(xué)習(xí)興趣,從而提高了學(xué)習(xí)效率。①②
1 關(guān)于MATLAB軟件
MATLAB是矩陣實(shí)驗(yàn)室Matrix Laboratory的簡(jiǎn)寫(xiě),它是一款數(shù)學(xué)軟件,主要用于數(shù)值運(yùn)算,它可以實(shí)現(xiàn)矩陣的運(yùn)算、繪制函數(shù)和數(shù)據(jù),同時(shí),它還具有實(shí)現(xiàn)算法、創(chuàng)建用戶(hù)界面的功能,它的語(yǔ)法簡(jiǎn)單,編程易于學(xué)習(xí),對(duì)現(xiàn)在的學(xué)生操作起來(lái)較容易,MATLAB軟件強(qiáng)大的符號(hào)運(yùn)算功能,幾乎包括了高等數(shù)學(xué)所涉及到所有的運(yùn)算,是當(dāng)代理工科大學(xué)生應(yīng)熟練掌握的一款數(shù)學(xué)軟件。
2 關(guān)于數(shù)值分析課程的特點(diǎn)
數(shù)值分析是大學(xué)理工科開(kāi)設(shè)的一門(mén)專(zhuān)業(yè)課,學(xué)習(xí)內(nèi)容涉及的范圍較廣,主要有誤差分析,線性方程組的解法,插值法和數(shù)據(jù)擬合,數(shù)值微分與積分,非線性方程及方程組的解法,常微分方程數(shù)值解。③通過(guò)該課程的學(xué)習(xí),學(xué)生應(yīng)該能夠掌握一些常見(jiàn)數(shù)值方法的構(gòu)造原理并且能達(dá)到在實(shí)際問(wèn)題中的正確使用,對(duì)某些現(xiàn)象能利用所學(xué)的知識(shí)給出較為合理的解釋?zhuān)热缯f(shuō)關(guān)于方法的誤差、收斂性、所分析的問(wèn)題的性態(tài)等,同時(shí)還要求學(xué)生具有一定的計(jì)算機(jī)編程能力,能將本課程中常見(jiàn)的數(shù)值方法編寫(xiě)成程序且在計(jì)算機(jī)上運(yùn)行,得出正確的結(jié)果。
3 數(shù)值分析課程教學(xué)中存在的問(wèn)題
從數(shù)值分析的教科書(shū)上可以看出來(lái),這門(mén)課程中的公式推導(dǎo)和算法比較多,計(jì)算量相對(duì)比較大,若教師整堂課都在講公式推導(dǎo),沒(méi)有加絲毫的實(shí)際演示過(guò)程,這樣的教學(xué)過(guò)程很難調(diào)動(dòng)學(xué)生主動(dòng)學(xué)習(xí)的積極性,繁瑣枯燥的數(shù)學(xué)公式推導(dǎo)只會(huì)導(dǎo)致學(xué)生失去對(duì)該課程的學(xué)習(xí)興趣,嚴(yán)重影響到課堂教學(xué)中學(xué)生與教師的互動(dòng)。例如,我們?cè)谥v三次樣條插值時(shí),關(guān)于三次樣條插值函數(shù)的計(jì)算非常的繁瑣和復(fù)雜,但若結(jié)合MATLAB軟件,學(xué)生還知道,直接調(diào)用軟件中的庫(kù)函數(shù)也是可以實(shí)現(xiàn)的,當(dāng)然他們也可以通過(guò)自編程序?qū)崿F(xiàn)插值過(guò)程。
4 基于MATLAB軟件的數(shù)值分析課程的教學(xué)
4.1 用MATLAB軟件實(shí)現(xiàn)具體的實(shí)例來(lái)進(jìn)行數(shù)值分析課程的教學(xué)
在數(shù)值分析課程的教學(xué)中,由于本門(mén)課程較強(qiáng)的應(yīng)用性和教學(xué)內(nèi)容的復(fù)雜性,如果對(duì)于課程中遇到的較難理解的基本概念和主要方法,教師都能夠用盡可能多的具體實(shí)例來(lái)給予詮釋?zhuān)敲?,這便已經(jīng)是對(duì)數(shù)值分析課程教學(xué)改革的一個(gè)很好的嘗試。因此,結(jié)合數(shù)值分析這門(mén)課程理論教學(xué)的特點(diǎn)和存在問(wèn)題,教師只有改進(jìn)傳統(tǒng)的單一的教學(xué)模式,才能更好地提高這門(mén)課程的教學(xué)效果,從而能夠使學(xué)生對(duì)所學(xué)內(nèi)容有一個(gè)完整的理解和掌握。
對(duì)于實(shí)例教學(xué),如果我們使用MATLAB則很容易地可以實(shí)現(xiàn)大量復(fù)雜的數(shù)值計(jì)算和圖形,但如果用傳統(tǒng)教學(xué)方式則難以解決同樣的問(wèn)題。例如在講曲線擬合時(shí),就可以用人口增長(zhǎng)問(wèn)題作為實(shí)例。關(guān)于人口增長(zhǎng)有兩個(gè)基本的模型:指數(shù)增長(zhǎng)模型和阻滯增長(zhǎng)模型,按照以上兩種模型再結(jié)合線性最小二乘法,我們就可以分別擬合出美國(guó)1790至1990年的人口數(shù)據(jù),還可以讓學(xué)生觀察下我們擬合出的結(jié)果與真實(shí)數(shù)據(jù)之間的差異。④又如三次樣條插值問(wèn)題,常微分方程數(shù)值解問(wèn)題,數(shù)值積分問(wèn)題等等,我們都可以很容易地使用MATLAB軟件提供的現(xiàn)有的函數(shù)直接得出想要的結(jié)果。⑤
4.2 用MATLAB軟件實(shí)現(xiàn)教學(xué)內(nèi)容的直觀化形象化來(lái)進(jìn)行數(shù)值分析課程的教學(xué)
現(xiàn)在,隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展以及各類(lèi)教學(xué)演示軟件的開(kāi)發(fā),在我們的課堂教學(xué)中,可視化教學(xué)必會(huì)成為數(shù)值分析課程教學(xué)改革的一個(gè)方向,因此,對(duì)于本課程中問(wèn)題的引入,算法的講解以及最終的結(jié)果,教師盡可能都將其轉(zhuǎn)化成圖形等可視的結(jié)果展示給學(xué)生,從而更形象,減輕學(xué)生的學(xué)習(xí)壓力,來(lái)更好地激發(fā)他們的學(xué)習(xí)興趣,而MATLAB這 款數(shù)學(xué)軟件,正具備有良好的可視化功能,若將其合理地應(yīng)用到我們的教學(xué)中,必定會(huì)產(chǎn)生良好的教學(xué)效果。
對(duì)本課程中許多問(wèn)題的求解過(guò)程,在課堂教學(xué)中,教師若能應(yīng)用MATLAB軟件直接進(jìn)行演示,就可以將枯燥抽象的數(shù)學(xué)內(nèi)容,繁雜龐大的計(jì)算過(guò)程非常直觀地呈現(xiàn)出來(lái),從而使學(xué)生有著非常鮮明的感性認(rèn)識(shí)。例如,在講利用雅可比迭代、高斯—賽德?tīng)柕统沙诘ㄇ缶€性方程組的數(shù)值解時(shí),教師直觀形象的展示后,要求學(xué)生比較這三種不同的方法,它們各自的收斂速度如何以及收斂和發(fā)散的區(qū)別,這些問(wèn)題的提出,都能夠大大地激發(fā)學(xué)生的學(xué)習(xí)興趣,同時(shí),還可以逐漸培養(yǎng)學(xué)生的科學(xué)計(jì)算能力。
4.3 用MATLAB軟件來(lái)進(jìn)行數(shù)值分析課程的實(shí)驗(yàn)教學(xué)
實(shí)驗(yàn)是數(shù)值分析課程教學(xué)的一個(gè)重要組成部分,是學(xué)生從理論知識(shí)到實(shí)際應(yīng)用的一個(gè)重要過(guò)程,利用計(jì)算機(jī)進(jìn)行數(shù)學(xué)實(shí)驗(yàn)成為學(xué)生加深對(duì)所學(xué)知識(shí)的認(rèn)識(shí)的一個(gè)重要手段,但如果用C語(yǔ)言來(lái)實(shí)現(xiàn),就比較困難,而且如果算法選擇不好,還可能得出錯(cuò)誤的結(jié)果,況且繪制圖形本身也是C語(yǔ)言的一個(gè)難點(diǎn),而如果我們用MATLAB軟件來(lái)實(shí)現(xiàn)就會(huì)很容易,因?yàn)锳TLAB具有強(qiáng)大的計(jì)算功能、圖形處理和良好的交互界面等功能,因此它是進(jìn)行數(shù)值實(shí)驗(yàn)理想的工具,這樣,對(duì)于C語(yǔ)言很復(fù)雜的算法,利用MATLAB,只需要直接調(diào)用其現(xiàn)有的函數(shù),加上幾個(gè)簡(jiǎn)單的語(yǔ)句,就可以得出其圖形,而且得出的圖形美觀、準(zhǔn)確,在用MATLAB軟件進(jìn)行數(shù)值實(shí)驗(yàn)的過(guò)程中,通過(guò)數(shù)形結(jié)合學(xué)生不僅掌握了教學(xué)內(nèi)容,而且也會(huì)深刻體會(huì)到現(xiàn)代計(jì)算工具的魅力,減輕學(xué)生學(xué)習(xí)壓力的同時(shí),讓學(xué)生自己更積極地來(lái)學(xué)習(xí)該門(mén)課程。
注釋
① 韓旭里,萬(wàn)中.數(shù)值分析與實(shí)驗(yàn)[M].北京:科學(xué)出版社,2006.
②④萬(wàn)中,羅漢.加強(qiáng)開(kāi)放性數(shù)學(xué)實(shí)驗(yàn)課程研究推動(dòng)數(shù)學(xué)教育改革[J].大學(xué)教育科學(xué),2003.84(4):52-53.
③ 丁麗娟,程杞元.數(shù)值計(jì)算方法.北京:北京理工大學(xué)出版社,2005.8.
⑤ 郭金,韋程?hào)|.在數(shù)值分析教學(xué)中融入數(shù)學(xué)建模思想的研究與實(shí)踐.廣西師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2008.9.25(3).