淺析基于Matlab平臺工科碩士研究生數(shù)值分析教學(xué)實(shí)踐
摘 要:指出數(shù)值分析課程特點(diǎn)和當(dāng)前存在的不足,介紹了優(yōu)秀數(shù)值計(jì)算軟件Matlab,結(jié)合教學(xué)實(shí)踐,從抽象內(nèi)容直觀化、復(fù)雜計(jì)算簡單化、數(shù)值實(shí)驗(yàn)強(qiáng)基礎(chǔ)和案例分析長才干四方面,探討基于Matlab平臺的工科碩士研究生數(shù)值分析教學(xué)改革。
關(guān)鍵詞:數(shù)值分析;Matlab;教學(xué)實(shí)踐
桂曙光(1965-),男 , 安徽桐城人,副教授,碩士 , 主要從事應(yīng)用數(shù)學(xué)的教學(xué)和研究。
On the teaching practice of Matlab- platform-based
numerical analysisfor postgraduates of engineering major
GUIShu-guang
(School of Science, Anhui University of Science and Technology, Huainan, Anhui232001, China)
Abstract: This paper points out the features of numerical analysis course and its present shortcomings and introduces Matlab, an advanced software of numerical analysis. Besides, with regard to the teaching practice, the paper studies the teaching reform of Matlab-platform-based numerical analysis for postgraduates of engineering major from the four aspects of visualizing the abstract, simplifying the complex computing, enhancing the base of numerical experiment, and improving ability of case analysis.
Key words: numerical analysis; Matlab; teaching practice
隨著計(jì)算機(jī)技術(shù)的迅猛發(fā)展,科學(xué)計(jì)算已經(jīng)與實(shí)驗(yàn)研究、理論分析并稱為科學(xué)研究的三大方法,借助于計(jì)算機(jī)和數(shù)值計(jì)算理論,人們能對自然科學(xué)、工程技術(shù)、經(jīng)濟(jì)管理及至人文社會科學(xué)領(lǐng)域中的數(shù)值模型求出數(shù)值解。因此,要求改革數(shù)學(xué)課程教學(xué)的呼聲日益增長,而數(shù)值分析課程以其獨(dú)特的特點(diǎn)首當(dāng)其中,提高數(shù)值分析教學(xué)質(zhì)量,培養(yǎng)學(xué)生數(shù)學(xué)素養(yǎng),掌握實(shí)用算法并能熟練利用計(jì)算機(jī)求解成為當(dāng)務(wù)之急。
一、數(shù)值分析課程的特點(diǎn)與現(xiàn)狀
(一) 課程內(nèi)容多雜而教學(xué)時數(shù)少
本課程包括了數(shù)值逼近(插值、函數(shù)逼近,數(shù)值積分與微分),數(shù)值代數(shù)(線性方程組求解、矩陣特征值與特征向量),方程求根(非線性方程(組)求解,解微分方程)等內(nèi)容。在運(yùn)用傳統(tǒng)教學(xué)方法講授這些知識時,由于公式多,推導(dǎo)過程繁瑣,加上教學(xué)時數(shù)少(54學(xué)時),很多內(nèi)容難以說清楚,致使學(xué)生產(chǎn)生厭學(xué)情緒,教學(xué)效果大打折扣。
(二) 計(jì)算復(fù)雜
解題時,一般都要進(jìn)行大量的計(jì)算,不是一支筆、一張紙,外加一臺計(jì)算器能順利解決的,因此學(xué)生只能做一些簡單的數(shù)值模擬題,難以領(lǐng)會和理解方法的計(jì)算要領(lǐng)和步驟,體會問題的條件和限制范圍,理解一般問題和特殊問題的區(qū)別。
(三) 重理論輕實(shí)踐
傳統(tǒng)課程只注重講授數(shù)值方法的原理,課堂教學(xué)占去整個教學(xué)過程的絕大部分時間,學(xué)生沒有實(shí)驗(yàn)、實(shí)踐的深刻體會,不能全面理解和運(yùn)用教材中的算法。
(四)直觀性差
課堂教學(xué)中難以對一些重要概念、重要現(xiàn)象進(jìn)行直觀展示,學(xué)生只是被動記憶一些結(jié)論,并不真正理解。
二、Matlab——優(yōu)秀的數(shù)值計(jì)算軟件
美國Mathwork公司于1967年推出了適用于不同規(guī)格計(jì)算機(jī)和各種操作系統(tǒng)的數(shù)學(xué)軟件包-Matlab[1],它集數(shù)值計(jì)算、符號分析、圖形可視化、文字處理于一體,語法簡單、操作方便、界面友好,只要有點(diǎn)Windows操作經(jīng)驗(yàn),在短時間內(nèi)就可學(xué)會它的操作和使用方法,而且其編程效率遠(yuǎn)優(yōu)于BASIC、FORTRAN、C等軟件。它具有很好的開放性,以它為基礎(chǔ)開發(fā)的二十多個工具箱,可用于解決諸多學(xué)科專業(yè)中的數(shù)值計(jì)算問題。該軟件已成為發(fā)達(dá)國家高等院校理工科學(xué)生必須掌握的基本軟件,也是科學(xué)研究和工程設(shè)計(jì)部門解決具體問題的一種標(biāo)準(zhǔn)軟件。用過它的人都感嘆:用Matlab處理矩陣-容易;用Matlab實(shí)現(xiàn)可視化-輕松;用Matlab編程-簡潔!
三、數(shù)值分析課程教學(xué)改革實(shí)踐
針對數(shù)值分析課程的特點(diǎn)和傳統(tǒng)教學(xué)中的不足,筆者在多年的教學(xué)實(shí)踐中,將Matlab軟件應(yīng)用于數(shù)值分析教學(xué),取得了良好的教學(xué)效果。主要做法如下。
(一)抽象內(nèi)容直觀化
心理學(xué)研究表明, 與抽象的內(nèi)容相比,學(xué)生易于識記生動、形象、有趣的學(xué)習(xí)材料。如果能將抽象的數(shù)學(xué)知識直觀的呈現(xiàn)在學(xué)生們面前,無疑將會極大地激起學(xué)生的學(xué)習(xí)興趣,Matlab強(qiáng)大的可視化功能正好能做到這一點(diǎn)。一個典型的例子是在引入分段低次插值時,為了讓學(xué)生更好地理解Runge現(xiàn)象,利用屏幕動態(tài)地顯示f(x) =11+x2插值函數(shù)圖象[2]31。
在[-5,5]上取等距節(jié)點(diǎn)(給定n,共取n+1個點(diǎn))
xk=-5+k·10n ,k=0,1,2,…,n。
構(gòu)造拉格朗日插值多項(xiàng)式Ln(x),隨著n的增大,在區(qū)間端點(diǎn)附近Ln(x)與f(x)接近程度越差,形象的說明了高次插值函數(shù)近似f(x)的效果并不好,為講授分段低次插值做了個很好的引子。
借助于Matlab平臺,函數(shù)逼近中的誤差分布,數(shù)值積分方法的改進(jìn),迭代過程等等均能很容易直觀地呈現(xiàn)在學(xué)生面前。
(二) 復(fù)雜計(jì)算簡單化
數(shù)值分析難,主要難在運(yùn)算過程(公式)復(fù)雜,大部分時候難以靠一支粉筆在黑板上一步一步的演算,學(xué)生課后練習(xí)也只能做一些簡單的數(shù)值模擬。而Matlab強(qiáng)大的數(shù)值計(jì)算功能,幫助我們解決了這個問題。
例如,用雅可比迭代、高斯-賽德爾迭代和超松弛迭代求解線性方程組的數(shù)值計(jì)算,計(jì)算量非常大,按照教材講解,只能簡單地告知結(jié)果,學(xué)生積極性不高,利用Matlab 編寫三個簡單的小程序,便可將計(jì)算結(jié)果(甚至每一步的迭代結(jié)果)直觀地展示給學(xué)生。
例1 分別用雅可比迭代、高斯-賽德爾迭代和超松弛迭代解線性方程組[2]213
并比較收斂速度,取精度=10-5。其精確解為 x*=(-1,-1,-1,-1)T。
教學(xué)中,用自編的程序,很快得出了下列結(jié)果,并比較了方法的優(yōu)劣(見表1和表2)。
數(shù)值分析教學(xué)中,這樣的例子比比皆是,只要教師認(rèn)真設(shè)計(jì),不僅能大大激起學(xué)生對學(xué)習(xí)內(nèi)容及過程強(qiáng)烈的興趣,而且還對初步培養(yǎng)學(xué)生科學(xué)計(jì)算能力起到了重要作用。
(三)數(shù)值實(shí)驗(yàn)強(qiáng)基礎(chǔ)
數(shù)值分析是一門實(shí)驗(yàn)性較強(qiáng)的學(xué)科,上機(jī)實(shí)驗(yàn)不僅能加深學(xué)生對算法穩(wěn)定性,理論可靠性及計(jì)算復(fù)雜性的理解,培養(yǎng)學(xué)生的編程能力,還能培養(yǎng)學(xué)生質(zhì)疑問題的能力和創(chuàng)新精神。因此每章結(jié)束后,都提供一兩個問題要求學(xué)生利用MATLAB軟件,自編程序或利用其庫函數(shù)求解問題,分析結(jié)果。如學(xué)習(xí)線性方程組迭代法后,提供一個高階病態(tài)的線性方程組,要求學(xué)生用各種方法上機(jī)求解,并對結(jié)果進(jìn)行分析,找出收斂較快的迭代法,尋求最佳松弛因子。
(四) 案例分析長才干
實(shí)踐性是數(shù)值分析課程區(qū)別于其它數(shù)學(xué)課程的一個重要特征。每個部分內(nèi)容結(jié)束后,安排一個案例分析,幫助學(xué)生從“算”數(shù)學(xué)過渡到“用”數(shù)學(xué)。如海底測量(插值),估計(jì)水塔的水流量(插值、數(shù)值微分與積分),投入產(chǎn)出分析(線性方程組),商品的產(chǎn)量與價格(方程求根),導(dǎo)彈系統(tǒng)的改進(jìn)(微分方程)等。通過這些案例分析,既使學(xué)生認(rèn)識到數(shù)值分析的實(shí)用性,又讓學(xué)生領(lǐng)略了Matlab的強(qiáng)大功能,積累了用數(shù)學(xué)軟件解決實(shí)際問題的經(jīng)驗(yàn)。由于教學(xué)時數(shù)的限制,案例分析一般由學(xué)生課后完成,教師負(fù)責(zé)指導(dǎo)。
四、結(jié)束語
數(shù)值分析是研究如何用計(jì)算機(jī)解決實(shí)際問題的課程,將Matlab與數(shù)值分析課程結(jié)合起來,開闊了學(xué)生思路,拓展了解決問題的方法,取得了較好的教學(xué)效果,學(xué)生做畢業(yè)論文,甚至在實(shí)際工作中遇到有關(guān)難題時,經(jīng)常當(dāng)面或通過郵件與我進(jìn)行探討。學(xué)生普遍反映數(shù)值分析課程內(nèi)容多,實(shí)踐性強(qiáng),應(yīng)用廣泛,費(fèi)時費(fèi)力,但學(xué)下來最有用,收益終生。
參考文獻(xiàn):
[1] ]周品,趙新芬.Matlab數(shù)學(xué)建模與仿真[M].北京:國防出版社,2009.
[2] 李慶楊,王能超,易大義.數(shù)值分析(第四版)[M].武漢:華中科技大學(xué)出版社,2006.
[3] 劉彩云,陳忠.《數(shù)值分析》課程教學(xué)改革的若干思考[J].長江大學(xué)學(xué)報:自然科學(xué)版,2009,6(1):358-359.
[4] 曾繁慧,高雷阜,胡行華.基于Matlab的《數(shù)值分析》教學(xué)改革研究[J].高教論壇,2008(3):60-61.
[5] 石辛民.“計(jì)算方法”課是Matlab語言的最佳切入點(diǎn)[J].高等理科教育,2002(5):63-65.
轉(zhuǎn)貼于
本文編號:2492
本文鏈接:http://www.wukwdryxk.cn/jiaoyulunwen/gaodengjiaoyulunwen/2492.html