郭天勇
(南開大學(xué) 公共計(jì)算機(jī)基礎(chǔ)教學(xué)部,天津 300071)
Matlab公選課的教學(xué)改革探究
郭天勇
(南開大學(xué) 公共計(jì)算機(jī)基礎(chǔ)教學(xué)部,天津 300071)
Matlab是目前應(yīng)用較廣的科學(xué)與工程計(jì)算軟件。針對面向全校工科學(xué)生開放的Matlab公共選修課,文章從課程內(nèi)容選擇、授課方法、最終考核等方面進(jìn)行了改革,旨在激發(fā)學(xué)生興趣,提高學(xué)習(xí)熱情,拓展學(xué)生思路,便于學(xué)生快速掌握該軟件并利用其解決學(xué)習(xí)中遇到的問題。
Matlab課程;教學(xué)改革;矩陣運(yùn)算
Matlab早期主要應(yīng)用于矩陣運(yùn)算[1-2],但隨著Mathworks公司的不斷發(fā)展壯大,以及廣大編程愛好者的技術(shù)支持,其應(yīng)用領(lǐng)域發(fā)生了翻天覆地的變化,其應(yīng)用包括:電力系統(tǒng)、自動化控制、生物醫(yī)療、汽車電子、圖像處理等行業(yè)[3-6]。
而在課堂上,面對不同年級、不同專業(yè)的學(xué)生,就需要從Matlab眾多的功能中下大功夫選取適合的內(nèi)容進(jìn)行講述。同時,還需要結(jié)合每學(xué)期選課學(xué)生的專業(yè)進(jìn)行針對性地、深入地實(shí)例講解,引導(dǎo)學(xué)生自覺地通過編程驗(yàn)證所學(xué)知識,以達(dá)到學(xué)以致用的目的。
結(jié)合公選課的基本特點(diǎn),學(xué)生對其感興趣或者認(rèn)為對自己學(xué)業(yè)有幫助的才會選課。不管學(xué)生的知識背景如何,首先要通過實(shí)例進(jìn)一步激發(fā)學(xué)生學(xué)習(xí)的興趣,并引導(dǎo)其自學(xué)。
在學(xué)期開始的第一堂課,通過展示基于Matlab繪制的圖片和往屆學(xué)生設(shè)計(jì)的GUI圖形界面,分別如圖1和圖2所示,從而引起學(xué)生的注意、并讓其了解Matlab 的眾多功能及應(yīng)用領(lǐng)域。同時,建議學(xué)生改進(jìn)、完善Matlab現(xiàn)有函數(shù),并自行設(shè)計(jì)專業(yè)領(lǐng)域的工具箱[7-8]。
圖1 學(xué)生利用Matlab繪制的圖形
除了展示圖片,還通過具體的實(shí)例讓學(xué)生了解該軟件的強(qiáng)大。估計(jì)大家對魔方都有所了解,就先以魔方矩陣為例。其特點(diǎn)是:對于n階方陣(n>0且n≠2),其矩陣元素是從1到n2,且每行每列以及對角線元素相加之和都等于(1+2+…+n2)/n。手工計(jì)算該矩陣是非常耗時的一項(xiàng)工作,利用Matlab中的函數(shù)magic就可以快速給出想要的矩陣。
如:>> t=magic(3)
t =
8 1 6
3 5 7
4 9 2
線性代數(shù)中令人頭疼的求矩陣的行列式、逆矩陣、矩陣相乘等運(yùn)算,利用Matlab函數(shù)det、inv及運(yùn)算符‘*’就可以瞬間解決。希望能通過這些問題激發(fā)學(xué)生的好奇心和求知欲。
圖2 學(xué)生設(shè)計(jì)的GUI圖形界面
該軟件還自帶了豐富的函數(shù),以供用戶使用,也提供了help、doc、lookfor等幫助命令。我們可以利用上述幫助命令查找和了解命令的基本格式及使用規(guī)則。
作為公選課,課程內(nèi)容涵蓋面不僅要廣,還要“?!?,要讓學(xué)生“扎”進(jìn)去,而不是學(xué)完就“扔”。為此,課程內(nèi)容大綱主要有:Matlab概述與入門、數(shù)值計(jì)算、數(shù)據(jù)處理、畫圖及界面設(shè)計(jì)、M文件與程序設(shè)計(jì)、Simulink仿真和典型應(yīng)用舉例[9-12]。
課程內(nèi)容以基礎(chǔ)知識為主,專業(yè)內(nèi)容為輔。課程中以實(shí)例為“引線”,將前后內(nèi)容串聯(lián)起來,通過講解典型實(shí)例,結(jié)合作業(yè)練習(xí),讓學(xué)生發(fā)散思維,從多個角度考慮問題,用“計(jì)算機(jī)思維”來解決問題,實(shí)現(xiàn)“舉一反三”,并且以典型的成功案例來帶動學(xué)生去學(xué)習(xí)整個章節(jié)、甚至整門課程的內(nèi)容,最終實(shí)現(xiàn)以點(diǎn)帶面。
為了讓學(xué)生便于掌握該課程,對課程進(jìn)度進(jìn)行了調(diào)整。由于圖像簡潔、直觀,便于我們快速得出結(jié)論,所以課程中把Matlab畫圖提到靠前的位置;由于Matlab是由眾多函數(shù)組成的,為了讓學(xué)生盡快熟悉和掌握函數(shù)的使用,所以講完畫圖后就講M文件與程序設(shè)計(jì)。這樣,在后面講到數(shù)值計(jì)算、插值、擬合等內(nèi)容時,可以讓學(xué)生自己編程看看與Matlab內(nèi)部自帶函數(shù)在思路、方法和結(jié)果等方面的區(qū)別。
由于該課程側(cè)重于實(shí)際動手操作,所以將上課地點(diǎn)選在多媒體教室,在講完理論內(nèi)容和典型例題后,專門留出幾分鐘時間,讓學(xué)生自己上機(jī)動手操作,加深印象。
當(dāng)然,在多媒體教室上課,有利也有弊。為了防止學(xué)生自己玩電腦而不聽課,可利用“網(wǎng)絡(luò)教室”軟件,將學(xué)生的顯示器進(jìn)行鎖定,使其與教師機(jī)、投影儀屏幕內(nèi)容保持一致的方法解決該問題。該軟件還具有課堂分組、點(diǎn)名、舉手、考試和作業(yè)提交等功能。同時,為了更好地發(fā)揮和鍛煉學(xué)生的自主學(xué)習(xí)能力和團(tuán)體合作意識,根據(jù)學(xué)生專業(yè)和年級,利用該軟件將選課學(xué)生合理分組,小組成員之間互相幫助,共同提高;每次作業(yè)都讓小組代表進(jìn)行演示,讓大家相互學(xué)習(xí),取長補(bǔ)短。
考核內(nèi)容是所學(xué)知識的綜合應(yīng)用及延伸,結(jié)合自己專業(yè)所學(xué),進(jìn)行GUI圖形界面設(shè)計(jì)。以光學(xué)工程專業(yè)為例,學(xué)生可以將單縫衍射、矩形孔衍射、雙縫干涉等專業(yè)實(shí)驗(yàn)通過編程以圖形、動畫的形式展現(xiàn)出來,既加深了對專業(yè)知識的理解,又熟練了對Matlab編程及畫圖功能的使用,通過展示又能讓非專業(yè)學(xué)生快速了解該技術(shù),可謂“一舉多得”。
該公選課每學(xué)期都開課,除了正常選課學(xué)生外,也吸引了一些對該課程感興趣的學(xué)生來旁聽。邊學(xué)邊練,用計(jì)算機(jī)思維將理論知識轉(zhuǎn)化為數(shù)學(xué)模型,是該課程的核心。希望該課程能對學(xué)生后期的學(xué)習(xí)和工作提供一定的幫助??上驳氖怯袔酌鶎脤W(xué)生已經(jīng)在數(shù)學(xué)建模中取得了不錯的成績。
[1]穆爾.Matlab實(shí)用教程[M].2版.北京:電子工業(yè)出版社,2010.
[2]王沫然.Matlab與科學(xué)計(jì)算[M].北京:電子工業(yè)出版社,2012.
[3]夏江濤,孫冬嬌.Matlab在現(xiàn)代通信原理課程中的應(yīng)用[J].實(shí)驗(yàn)技術(shù)與管理,2014,31(1):110-113,119.
[4]楊光祥,梁華,曹曉莉,等.過程控制系統(tǒng)仿真與實(shí)踐結(jié)合的實(shí)驗(yàn)教學(xué)設(shè)計(jì)[J].實(shí)驗(yàn)技術(shù)與管理,2013,30(1):91-93,100.
[5]周淵深.電力電子與Matlab仿真[M].北京:中國電力出版社,2005.
[6]于群,曹娜.Matlab/Simulink電力系統(tǒng)建模與仿真[M].北京:機(jī)械工業(yè)出版社,2012.
[7]馮曉龍.基于Matlab的幾何運(yùn)動布朗模型的應(yīng)用與預(yù)測[J].計(jì)算機(jī)應(yīng)用,2013,33(S1):329-330,334.
[8]張海寧,劉超.基于Matlab工具箱目標(biāo)定位穩(wěn)定性分析[J].數(shù)字技術(shù)與應(yīng)用,2013(10):86-87.
[9]周開利.Matlab基礎(chǔ)及其應(yīng)用教程[M].北京:北京大學(xué)出版社,2011.
[10]張琨.Matlab2010從入門到精通[M].北京:電子工業(yè)出版社,2011.
[11]張德豐.Matlab程序設(shè)計(jì)與工程應(yīng)用[M].北京:清華大學(xué)出版社,2011.
[12]王正林.Matlab/Simulink與控制系統(tǒng)仿真[M].北京:電子工業(yè)出版社,2012.
Study on Teaching Reform of Public Elective Course of Matlab
GUO Tianyong
(Department of Public Computer Teaching, NanKai University, Tianjin 300071, China)
Matlab is widely applied in science and engineering calculation, as a public elective course which is opened for engineering students in the school. We described the choice of course content, teaching method, the final examination and other aspects, and aimed to stimulate the student’s interest, improve the passion of learning, divergent thinking, grasp the software quickly and use it to solve problems encountered in the study.
Matlab course; teaching reform; matrix operations
2014-08-09;修改日期: 2014-11-20
郭天勇(1981-),男,博士,實(shí)驗(yàn)師,研究方向:新能源發(fā)電及實(shí)驗(yàn)室設(shè)備管理等。
G642.0
A
10.3969/j.issn.1672-4550.2015.01.054