范羚
摘 要 Matlab是本科教學(xué)和學(xué)習(xí)中較為重要的仿真軟件之一,也是一門實踐性較強的學(xué)科。為提高教學(xué)效果,培養(yǎng)學(xué)生解決實際問題的能力,更好的與實際應(yīng)用接軌,提出將Matlab編程與相關(guān)課程結(jié)合,進行Matlab模塊化教學(xué)模式和分級實驗的改革和探討。實踐證明,這種綜合性教學(xué)模式有效的提高了學(xué)生的學(xué)習(xí)積極性,收到了較好的教學(xué)效果。
關(guān)鍵詞 Matlab 模塊化教學(xué) 分級實驗 教學(xué)方法
中圖分類號:G712 文獻標識碼:A
1存在問題
Matlab是目前國際上應(yīng)用較廣泛的科學(xué)與工程類計算軟件,也是本科教學(xué)中理工科學(xué)生較為重要的一門基礎(chǔ)工具課。現(xiàn)在,在我國各大高校中,Matlab已經(jīng)成為大學(xué)生必須掌握的基本技能之一,人工智能,神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)更是離不開Matlab的仿真和驗證。如何讓Matlab技能課程的特點得到充分發(fā)揮,并區(qū)別于我系其他電子信息類專業(yè)課程,成為我系本科教學(xué)改革的主要內(nèi)容之一。所謂技能課程,應(yīng)該將實際應(yīng)用放在首位,以提高學(xué)生的實際編程應(yīng)用能力為主,而相關(guān)課程的理論學(xué)習(xí)可以為輔,或安排在高年段進行系統(tǒng)的理論學(xué)習(xí)。如大學(xué)生計算機基礎(chǔ),C語言等課程在我國多數(shù)高校中,已均在大一或大二完成教學(xué),為學(xué)生后續(xù)相關(guān)課程的學(xué)習(xí)打下計算機及編程基礎(chǔ)。因此,本次改革旨在提高Matlab課程的實用性,更好發(fā)揮其技能課的優(yōu)勢,輔助學(xué)生其他課程的學(xué)習(xí)。
目前,我系Matlab課程的教學(xué)安排較后,主要作為高年段學(xué)生的選修課程開設(shè),而大部分與之關(guān)聯(lián)的課程,如“信號與系統(tǒng)”,“數(shù)字信號處理”,“圖像處理”,“語音信號處理”等均在大二或大三進行教學(xué),這些課程理論性相對較強,學(xué)生缺少實際應(yīng)用,對課程掌握深度不夠。如何利用Matlab強大的矩陣處理與科學(xué)計算功能,幫助學(xué)生更深入掌握這些課程的理論知識,且利用Matlab中相關(guān)函數(shù)進行實際演示,便成為此次Matlab教學(xué)探討的主要內(nèi)容。本次教學(xué)改革將Matlab課程提前至第3學(xué)期開課,超前于數(shù)字信號處理,語音信號處理等課程,在學(xué)生學(xué)習(xí)完高等數(shù)學(xué),線性代數(shù)的基礎(chǔ)上,便進行Matlab軟件的編程學(xué)習(xí),讓學(xué)生先學(xué)會用工具解決問題,再慢慢領(lǐng)會各種函數(shù)的編程原理,以突出Matlab技能課程的特點。
2課程改革的主要內(nèi)容
針對Matlab課程的這些特點,本次教學(xué)改革的內(nèi)容主要包括以下幾個方面:
2.1適當提前Matlab課程教學(xué)學(xué)期
將Matlab課程開課學(xué)期提前至第3學(xué)期進行,更好的與“信號與系統(tǒng)”,“數(shù)字信號處理”及“語音信號處理”等課程相結(jié)合。第3學(xué)期的“信號與系統(tǒng)”課程中,涉及的傅里葉變換,拉普拉斯變換和z變換等理論,均可利用Matlab強大的編程能力進行編程和仿真。若將Matlab課程提前,可更好地將Matlab編程和相關(guān)的信號與系統(tǒng)理論相結(jié)合,讓學(xué)生更深入理解傅里葉變換,拉普拉斯變換和z變換的原理,并將枯燥的理論公式,用形象具體的二維圖像進行顯示和處理,同時也可提高學(xué)生Matlab編程的能力。
2.2以模塊化和分級實驗為主進行教學(xué)方法改革
該課程在我系的教學(xué)計劃中,理論學(xué)時為16學(xué)時,分別講述Matlab的常用窗口和文件管理,數(shù)值計算,符號計算,可視化和圖形用戶界面(GUI)設(shè)計,及Matlab綜合程序設(shè)計五大內(nèi)容,并配以16學(xué)時的實驗課。在實驗課中以教材的這5個獨立章節(jié)為基礎(chǔ),分別設(shè)計完成5個獨立的實驗,以教師指定實驗題目為主,且大部分屬于編程驗證型實驗,5個實驗間并沒有明顯的相關(guān)性,也缺少和電子信息類其他課程的關(guān)聯(lián),絕大多數(shù)實驗內(nèi)容用獨立的語句即可編程實現(xiàn),學(xué)生自主發(fā)揮的余地較少。這樣的實驗設(shè)計雖然可以讓學(xué)生掌握Matlab的基本編程原理,但與其他課程的關(guān)聯(lián)性較小,獨立的綜合型實驗較少,學(xué)生缺少主動創(chuàng)新性設(shè)計,較難區(qū)分學(xué)生思維及編程能力的高低。
因此提出以模塊化為主的教學(xué)方法改革,旨在增強學(xué)生的學(xué)習(xí)興趣和獨立創(chuàng)新的能力,給不同學(xué)習(xí)程度的學(xué)生不同的發(fā)揮空間,盡可能做到因材施教。在理論課時中,除按教材給定的章節(jié)進行講解外,注重與電子信息類相關(guān)課程進行適當結(jié)合,讓學(xué)生體會到課程的連貫性和相互結(jié)合性,再配以相關(guān)實驗進行輔助學(xué)習(xí),以提高學(xué)生對課程的理解和運用能力。
在Matlab符號計算和數(shù)值計算兩章中,將“Matlab”與“線性代數(shù)”結(jié)合,完成第一模塊“Matlab在線性代數(shù)中的應(yīng)用”實驗,具體可設(shè)計線性代數(shù)方程的求解,方程特征值和特征向量的求解,多項式的擬合和插值等實驗內(nèi)容,屬于基礎(chǔ)驗證型實驗,旨在讓學(xué)生熟悉Matlab的基本編程思路和編程模式,學(xué)習(xí)獨立調(diào)試程序的方法。
在Matlab計算可視化和GUI設(shè)計章節(jié)中,將“Matlab”與“信號與系統(tǒng)”結(jié)合,完成第二模塊“Matlab在信號處理中的應(yīng)用”實驗。該模塊將結(jié)合信號與系統(tǒng)中的三大重要變換:傅里葉變換,拉普拉斯變換和z變換,分別選取時間域,頻率域,S域和Z域為主要研究對象,對相關(guān)函數(shù)fft(),ifft(),laplace(),ilaplace(),ztrans(),iztrans()等進行詳細分析,并結(jié)合Matlab的可視化工具,利用GUI進行用戶圖形界面編程,設(shè)計完成一個可以和信號與系統(tǒng)課程相結(jié)合的輔助學(xué)習(xí)平臺,加深學(xué)生對三大主要變換的理解,并在完成的用戶圖形界面中,分別對時域信號,頻域信號,s域和z域信號進行展示。學(xué)生不僅可以掌握Matlab的可視化編程方法,更將信號與系統(tǒng)的課程進行了滲透,增強了課程間的相互關(guān)聯(lián)性,提高了學(xué)生學(xué)習(xí)興趣。
在Matlab程序設(shè)計章節(jié)中,根據(jù)教材內(nèi)容,主要講解Matlab程序設(shè)計中的流程控制,M函數(shù)文件和腳本文件的編程,函數(shù)調(diào)用和參數(shù)傳遞等高級編程方法。在此基礎(chǔ)上,完成第三模塊“Matlab在圖像處理中的應(yīng)用”實驗。此前第二模塊實驗以處理一維信號為主,因此在第三模塊實驗中,以處理二維圖像信號為主,將實驗進行進一步提升。該模塊實驗以M函數(shù)文件和腳本文件編程為主,通過圖像的打開,讀取,變換,顯示和保存等步驟,進一步強化Matlab的編程思路,培養(yǎng)學(xué)生嚴謹認真的編程習(xí)慣和編程風(fēng)格。該模塊實驗分級進行,基礎(chǔ)模塊中主要實現(xiàn)數(shù)字圖像處理的一些基本操作,如利用直方圖完成圖像的統(tǒng)計特性分析,利用點運算和代數(shù)運算完成圖像的偽色彩處理和圖像融合,根據(jù)圖像時頻變換的特點,完成二維圖像的傅里葉變換和離散余弦變換等,并結(jié)合第二模塊中的GUI設(shè)計完成基于數(shù)字圖像處理的圖形用戶界面設(shè)計;提高模塊中,設(shè)計一些較復(fù)雜的圖像處理課題進行實驗,如在學(xué)習(xí)圖像處理的相關(guān)基礎(chǔ)理論后,進行圖像分割,圖像邊緣檢測等綜合型開放型實驗,充分發(fā)揮學(xué)生的主動性,進行自主的多元化編程探索。實驗過程中,教師將對編程過程中用到的理論知識進行講解和指導(dǎo),具體的實現(xiàn)步驟和處理過程則交由學(xué)生自主設(shè)計,以此來調(diào)動學(xué)生的學(xué)習(xí)積極性和自主創(chuàng)新的能力。
3總結(jié)
本次Matlab課程教學(xué)改革提出以模塊化為基本教學(xué)手段的改革思路。在我系之前的教學(xué)安排中,Matlab課程理論課部分全部按教材的章節(jié)順序進行授課,實驗課程安排在理論課程全部結(jié)束之后,以各章節(jié)內(nèi)容為依托,設(shè)計相關(guān)5個實驗,但各實驗間并無明顯的相互聯(lián)系和提高。此次教學(xué)模式探索,將在理論部分適當引入相關(guān)課程,如信號與系統(tǒng),語音信號處理,圖像處理等的基礎(chǔ)知識,并結(jié)合高等數(shù)學(xué),信號與系統(tǒng),圖像處理三大模塊進行實驗,將原來獨立的驗證型實驗提升為設(shè)計型,綜合型實驗,同時也增加了各模塊間的相互關(guān)聯(lián)性。第一模塊以Matlab在線性代數(shù)中的應(yīng)用為主,進行一些多項式的變換,線性方程的求解等,旨在讓學(xué)生熟悉Matlab的編程思路和編程方法;第二模塊將Matlab和信號與系統(tǒng)課程結(jié)合,以一維信號變換為主,并進行相關(guān)GUI設(shè)計;在此基礎(chǔ)上,進行第三模塊設(shè)計,對二維圖像進行變換編程,進一步提高學(xué)生的動手能力。在第三模塊中,我們還將進行學(xué)生分級實驗的改革,基礎(chǔ)模塊中進行圖像處理的初級操作,提升模塊中,完成較復(fù)雜的圖像處理,如圖像分割,邊緣檢測算法的實現(xiàn)等,并為后期的畢業(yè)設(shè)計課題做準備,以此做到因材施教。但此部分實驗設(shè)計較難,需根據(jù)學(xué)生的學(xué)習(xí)水平進行實時調(diào)整和指導(dǎo),課題需具備一定難度,但又必須在學(xué)生可以完成的范圍內(nèi),不能超出。因此,需要教師對學(xué)生的學(xué)習(xí)情況進行綜合了解,全面掌握學(xué)生的學(xué)習(xí)能力。
總之,如何根據(jù)Matlab語言的特點,進行有針對性的教學(xué),是培養(yǎng)電子信息類應(yīng)用型、創(chuàng)新型人才的一個重要任務(wù)。實踐證明,根據(jù)Matlab課程特點提出的模塊化教學(xué)改革,及分級型實驗較好的結(jié)合了我系學(xué)生的具體實際,增加了學(xué)生學(xué)習(xí)的積極性和Matlab課程教學(xué)的實際效果。
基金項目:本文系“廈門工學(xué)院教學(xué)改革項目”(項目編號:JG2018017)的研究成果。
參考文獻
[1] 張興莉,劉勇.《MATLAB語言》課程教學(xué)過程改革的研究[J].科技創(chuàng)新導(dǎo)報,2018,15 (18):208-209.
[2] 何海浪,林峰,黃乘順.基于Matlab的《信號與系統(tǒng)》課程教學(xué)改革[J].教育教學(xué)論壇,2018(31):119-120.