陳芳 黃靜靜
摘 要: 本文通過分析軟件Matlab在數(shù)值分析課程中的重要性,從教學(xué)角度分析了軟件Matlab在課程講授中的具體事項(xiàng)。對(duì)比過去和現(xiàn)在的實(shí)際情況,論證了軟件Matlab在數(shù)值分析教學(xué)中實(shí)現(xiàn)的必要性。另外,教學(xué)中加入軟件Matlab對(duì)算法的實(shí)現(xiàn),不僅使得教的過程引起學(xué)生的關(guān)注,而且增強(qiáng)學(xué)生對(duì)課程中算法的理解能力。
關(guān)鍵詞: 數(shù)值分析 Matlab 算法應(yīng)用
數(shù)值分析課是信息與計(jì)算科學(xué)專業(yè)的必修課,也是工科學(xué)生的選修課。在計(jì)算機(jī)沒有普及的時(shí)候,盡管很多高校都開設(shè)了這門課程,但幾乎都是基于理論講授,沒有把算法通過軟件在計(jì)算機(jī)上實(shí)現(xiàn)?,F(xiàn)在,隨著計(jì)算機(jī)的普及和高校硬件設(shè)施的完善,在課程講授過程中把算法通過軟件Matlab實(shí)現(xiàn)是很方便的事情,而且讓學(xué)生通過上機(jī)環(huán)節(jié)自行實(shí)現(xiàn)變得輕而易舉。筆者針對(duì)自己當(dāng)年的學(xué)習(xí)情況和多年的教學(xué)實(shí)踐探究軟件Matlab在數(shù)值分析課程中的作用,并探討了軟件Matlab在教學(xué)中針對(duì)零基礎(chǔ)學(xué)生的具體實(shí)現(xiàn)過程。
一、理論與實(shí)踐的結(jié)合
在學(xué)習(xí)數(shù)值分析這門課程以前,學(xué)生已經(jīng)學(xué)習(xí)了線性代數(shù)、高等數(shù)學(xué)等知識(shí)。在中學(xué)階段的數(shù)學(xué)學(xué)習(xí),以及線性代數(shù)和高等數(shù)學(xué)的學(xué)習(xí)過程中,學(xué)生學(xué)習(xí)數(shù)學(xué)的概念就是一張紙、一支筆,使得很多學(xué)生對(duì)深入學(xué)習(xí)數(shù)學(xué)沒有太大興趣,更愿意多動(dòng)手、多操作,增強(qiáng)實(shí)踐能力。當(dāng)年,筆者學(xué)習(xí)數(shù)值分析這類課程的時(shí)候,計(jì)算機(jī)還處于發(fā)展階段,確實(shí)很難在計(jì)算機(jī)上操作并實(shí)現(xiàn)算法。當(dāng)時(shí)主要靠筆學(xué)習(xí)這門課程,對(duì)于算法的優(yōu)點(diǎn)是理論分析得出,可是算法真正實(shí)現(xiàn)的優(yōu)點(diǎn)——快速、精度等卻很難體會(huì)。目前,從軟件方面講,軟件Matlab早由美國(guó)Mathworks公司發(fā)布。它將數(shù)值分析、矩陣計(jì)算、可視化等諸多功能集成在環(huán)境中,為科學(xué)研究、工程設(shè)計(jì)及必須進(jìn)行有效數(shù)值計(jì)算的眾多科學(xué)領(lǐng)域提供一套全面的完善解決方案。從硬件方面講,現(xiàn)在計(jì)算機(jī)相當(dāng)普及,各高校都有機(jī)房,學(xué)生有電腦也隨處可見。所以綜合各方面,軟件Matlab加入數(shù)值分析的課程教學(xué)是勢(shì)在必行的。
筆者以王能超編著的數(shù)值分析為例進(jìn)行講解。數(shù)值分析的內(nèi)容主要有插值方法、數(shù)值積分、常微分方程的差分方法、方程求根、線性方程組的直接法和迭代法。它的內(nèi)容整體來講,具有抽象性、科學(xué)性、實(shí)用性。在講解這門課程的時(shí)候知識(shí)要點(diǎn)比較零散,公式較多,推導(dǎo)復(fù)雜。盡管書中算法用框圖的形式表示出來了,從理論上講,確實(shí)很完美,但是在具體轉(zhuǎn)化為變成可執(zhí)行語言的時(shí)候,還是會(huì)遇到很多困難。因此,要在講授課程的過程中講解經(jīng)典算法的實(shí)現(xiàn)過程。綜上可見,在課程講授中把算法和軟件Matlab結(jié)合是必需的。通過本課程教與練的學(xué)習(xí),不僅僅使學(xué)生對(duì)數(shù)學(xué)產(chǎn)生興趣,更加深他們對(duì)算法的深入理解和算法的應(yīng)用。
二、軟件Matlab對(duì)算法的實(shí)現(xiàn)
1.課堂教學(xué)。就目前講,針對(duì)各高校情況,數(shù)值分析教學(xué)學(xué)時(shí)普遍較少,但是這不表示可把算法的實(shí)現(xiàn)從課堂教學(xué)中略去。針對(duì)工科學(xué)生,課堂教學(xué)中要淡化定理的證明過程,主要講解問題來源和算法的構(gòu)造思想。在算法設(shè)計(jì)過程中,要從算法的目的、算法的優(yōu)點(diǎn)和算法的改進(jìn)的角度多方面認(rèn)識(shí)算法。從教學(xué)角度講,很多學(xué)生學(xué)習(xí)數(shù)值分析的時(shí)候,并沒有接觸過軟件Matlab。盡管軟件Matlab不是數(shù)值分析老師的講解內(nèi)容,但是如何讓學(xué)生盡快融入其中,需要教師在課堂教學(xué)中下工夫。數(shù)值分析中需要的Matalb程序并不是很復(fù)雜,主要是賦值這類基本運(yùn)算和if,while,for三種程序結(jié)構(gòu)的簡(jiǎn)單使用。
2.實(shí)驗(yàn)環(huán)節(jié)。對(duì)教師和學(xué)生來說,數(shù)值分析的實(shí)驗(yàn)課使用軟件Matlab實(shí)現(xiàn)算法,是學(xué)生真正對(duì)于算法的運(yùn)用和掌握。在上機(jī)操作實(shí)驗(yàn)中,先讓學(xué)生針對(duì)題目自己編程實(shí)現(xiàn),教師解答學(xué)生在程序中遇到的問題。就學(xué)生而言,將自己所學(xué)的理論知識(shí)通過編寫程序的形式運(yùn)行出來,加深對(duì)算法所涉及的原理的理解,訓(xùn)練編程能力,也提高對(duì)于數(shù)值分析這門課程的認(rèn)識(shí),提高學(xué)生應(yīng)用所學(xué)數(shù)學(xué)算法解決實(shí)際問題的能力,提高學(xué)生的學(xué)習(xí)興趣。實(shí)踐表明,以軟件Matlab作為程序語言,加深了對(duì)學(xué)習(xí)內(nèi)容的理解,提高了實(shí)際編程能力。通過學(xué)習(xí)數(shù)值分析這門課程,學(xué)生增強(qiáng)以后在數(shù)學(xué)建模、畢業(yè)設(shè)計(jì)等活動(dòng)中的應(yīng)用能力。
三、結(jié)語
基于軟件Matlab的數(shù)值分析課程,從教學(xué)內(nèi)容來講,使得學(xué)生更能理解枯燥的數(shù)學(xué)理論,算法的分析和應(yīng)用;從教學(xué)效果講,不僅使得學(xué)生喜歡這門課程,而且增強(qiáng)了學(xué)生的編程能力。把軟件Matlab加入數(shù)值分析課程,更好地銜接了理論和應(yīng)用,使學(xué)生更喜歡數(shù)學(xué)、熱愛數(shù)學(xué),也使數(shù)學(xué)教學(xué)變得更活躍和輕松。
參考文獻(xiàn):
[1]史大濤,史美艷.基于MATLAB軟件的數(shù)值分析教改實(shí)踐,考試周刊,2013,101,9-10.
[2]張光輝,任敏.MATLAB平臺(tái)上《數(shù)值分析》課程教學(xué)的幾點(diǎn)思考,甘肅聯(lián)合大學(xué)學(xué)報(bào),2012,26(5):103-105.
[3]劉鵬,高曉紅,趙仁慶.淺談《數(shù)值分析》課程教學(xué)中的編程能力培養(yǎng)問題,楚雄師范學(xué)院學(xué)報(bào),2013,28(6):11-16.
教育教學(xué)-人才培養(yǎng)模式創(chuàng)新試驗(yàn)-應(yīng)用型人才培養(yǎng)模式試點(diǎn)改革(No.PXM2014-014224-000087);北京信息科技大學(xué)課程建設(shè)項(xiàng)目(No.2014KG83);北京信息科技大學(xué)教改項(xiàng)目(No.JGYB60);北京信息科技大學(xué)學(xué)?;鹂蒲许?xiàng)目(No.1425033)的資助。