吳 涓,宋愛國,溫秀蘭
(1.東南大學(xué)儀器科學(xué)與工程學(xué)院,江蘇南京 210096;2.南京工程學(xué)院自動化學(xué)院,江蘇南京 211167)
我校儀器科學(xué)專業(yè)給三年級本科生開設(shè)了16個學(xué)時的“Matlab語言與應(yīng)用”課程[1]。如何在有限的時間內(nèi),盡可能讓學(xué)生全面掌握Matlab的使用方法,靈活應(yīng)用于解決專業(yè)課程的問題,加深對專業(yè)知識的理解,是我們教學(xué)過程中迫切需要思考的問題。本文在該課程教學(xué)內(nèi)容和教學(xué)方法上,進(jìn)行了一些探索和嘗試,取得了較好的教學(xué)效果。
1)合理安排課堂授課和上機(jī)實(shí)踐
Matlab語言與應(yīng)用是一門實(shí)踐性很強(qiáng)的課程,在語言規(guī)則和使用技巧上有一定的特殊性[4]。我們在課程安排上,將課堂授課與上機(jī)實(shí)踐穿插在一起。一堂課進(jìn)行教學(xué),一堂課上機(jī)實(shí)踐。課堂授課主要介紹Matlab使用方法,附帶布置上機(jī)實(shí)踐題目、分析上機(jī)題目的實(shí)現(xiàn)要點(diǎn)和點(diǎn)評學(xué)生上機(jī)實(shí)踐中可能出現(xiàn)的典型問題。通過上機(jī)實(shí)踐,不僅讓學(xué)生復(fù)習(xí)講過的知識要點(diǎn),也可提高學(xué)生借助參考書和電子資源進(jìn)行自學(xué)的能力并為他們提供獨(dú)立分析解決問題的機(jī)會。
例如,我們在學(xué)生上機(jī)實(shí)踐時,布置了關(guān)于電機(jī)的雙閉環(huán)控制系統(tǒng)的設(shè)計(jì)題目。該題目要求學(xué)生首先利用Matlab的數(shù)學(xué)計(jì)算功能,由給定參數(shù)計(jì)算電機(jī)控制模型參數(shù);還要利用Matlab的控制系統(tǒng)函數(shù)和工具箱,設(shè)計(jì)具有穩(wěn)定性和準(zhǔn)確性的控制器傳遞函數(shù);最后借助Simulink工具箱,仿真整個控制系統(tǒng)的實(shí)現(xiàn)過程,并且以圖形化方式顯示。這樣,學(xué)生通過做這道題目就能復(fù)習(xí)數(shù)值計(jì)算、系統(tǒng)工具箱、m函數(shù)編程、Simulink仿真和圖形顯示等功能,達(dá)到了事半功倍的效果。該題目中主要環(huán)節(jié)—系統(tǒng)建模的實(shí)現(xiàn)方法有多種,既可以借助LTI工具箱,也可以自己編寫m函數(shù)實(shí)現(xiàn)控制系統(tǒng)的設(shè)計(jì)。學(xué)生在嘗試采用不同方法實(shí)現(xiàn)設(shè)計(jì)的過程中,針對具體問題,通過將不同方法的結(jié)果比較,較容易掌握Matlab各種工具函數(shù)的使用技巧,引導(dǎo)學(xué)生比較各種實(shí)現(xiàn)方法的優(yōu)缺點(diǎn),提高學(xué)習(xí)能力和水平。
2)掌握Matlab使用中的技術(shù)難點(diǎn)
我們在教學(xué)中,對Matlab的使用特點(diǎn)進(jìn)行了總結(jié),歸納出一些基本問題和典型的專業(yè)工具包,重點(diǎn)介紹了Matlab的基本操作對象是矩陣。因此,對Matlab使用方法的介紹,首先從對矩陣操作引入,著重介紹矩陣的建立、修改和運(yùn)算等。另外,Matlab程序的框架是基于函數(shù)和m文件,創(chuàng)建規(guī)則又和高級語言例如C語言有類似之處。我們主要結(jié)合m函數(shù)的生成和程序創(chuàng)建方法,從典型的m函數(shù)的創(chuàng)建過程入手,介紹Matlab的使用技巧和基本規(guī)則和圖形化顯示。由于專業(yè)工具箱和Simulink仿真是Matlab的特色。因此,我們在4個課堂學(xué)時中,分別就信號處理工具箱和Simulinl做了詳細(xì)介紹。
3)綜合實(shí)例,加深對Matlab的理解
Matlab在信號處理和自動控制等方面有很多專業(yè)的工具箱和函數(shù),對幫助學(xué)生理解課程原理和實(shí)現(xiàn)方法非常有幫助。但很多關(guān)于Matlab工具書在介紹Matlab的相關(guān)工具使用方法時,只是介紹反映原理特征的基本函數(shù),對這些變換的物理意義以及相互間聯(lián)系討論較少。我們可以選擇合適的習(xí)題,讓學(xué)生加深對Matlab的理解。
[習(xí)題]增加數(shù)據(jù)長度對譜分析有何影響?
現(xiàn)令模擬信號 x(t)=2sin(4π t)+5cos(8π t),以t=0.01*n(n=0:N-1)進(jìn)行采樣,求 N點(diǎn)的信號頻譜。N分別為64和1024,試比較信號譜結(jié)構(gòu)的不同,并且解釋其原因。
許多學(xué)生在編程設(shè)計(jì)解題時,看到求信號的頻譜,很自然地會想到直接使用fft()函數(shù),典型的結(jié)果圖如圖1所示:他們從仿真結(jié)果圖上只能看到數(shù)據(jù)長度變化后,圖形形狀上的差異,似乎看不到共同點(diǎn),也難以準(zhǔn)確解釋改變采樣點(diǎn)數(shù)對信號處理結(jié)果的影響,對信號進(jìn)行FFT變換的意圖更是不清楚。
圖1 典型作業(yè)的信號幅頻圖(橫坐標(biāo)為頻率/Hz)
出現(xiàn)這種結(jié)果的原因是,一方面學(xué)生對Matlab中fft()函數(shù)理解不透徹,誤將fft()函數(shù)變換后的自變量序列數(shù)當(dāng)做頻率,FFT得到的第n個點(diǎn)的復(fù)數(shù)序列當(dāng)做頻譜;另一方面,他們不清楚采樣頻率與采樣點(diǎn)以及頻率分辨率之間的對應(yīng)關(guān)系。
正確的步驟應(yīng)該是,對fft()變換的結(jié)果進(jìn)行轉(zhuǎn)換和處理,根據(jù) f=k×f s/N(其中,f為自變量頻率,k為采樣序列,f s為采樣頻率,N為采樣點(diǎn)數(shù))將采樣序列轉(zhuǎn)換為頻率值,取其對半頻率部分,將fft()函數(shù)獲得的結(jié)果取模。正確結(jié)果如圖2所示,從此圖就能分辨出信號主頻率,以及采樣點(diǎn)數(shù)N對信號分析的影響。
圖2 信號幅頻圖(橫坐標(biāo)為頻率/Hz)
再如,在自動控制原理中,離散控制系統(tǒng)的脈沖傳遞與連續(xù)控制系統(tǒng)的開環(huán)傳遞函數(shù)之間轉(zhuǎn)換關(guān)系是一個重要的問題。通過Matlab仿真,學(xué)生能直觀區(qū)分出兩者之間的區(qū)別與聯(lián)系。現(xiàn)設(shè)一個連續(xù)線性系統(tǒng),如圖3所示,對象模型G1(s)=2/(s2+30s),G2(s)=10/(s2+6s+5),采樣周期 Ts=0.1s,試求系統(tǒng)的脈沖閉環(huán)傳遞函數(shù)。
圖3 離散閉環(huán)系統(tǒng)
這個習(xí)題利用Matlab求取離散脈沖閉環(huán)傳遞函數(shù)的步驟是:①先要利用tf函數(shù)建立連續(xù)系統(tǒng)傳遞函數(shù)模型;②利用連續(xù)開環(huán)傳遞函數(shù)求取離散開環(huán)傳遞函數(shù);③利用feedback函數(shù)建立閉環(huán)系統(tǒng)模型。而其中第②步,隱含了離散控制系統(tǒng)不同串聯(lián)方式下的等效關(guān)系以及如何利用零階保持方法進(jìn)行系統(tǒng)變換兩個原理性問題。學(xué)生必須在理解控制系統(tǒng)基本原理問題的前提下,才有可能利用Matlab函數(shù)工具做出正確的解答。因此,在習(xí)題講解時,我們著重從原理出發(fā),結(jié)合基本函數(shù)演示例題的解題過程。學(xué)生通過Matlab編程,對比了不同串聯(lián)形式下系統(tǒng)閉環(huán)傳遞函數(shù)結(jié)果后,既能掌握Matlab函數(shù)的使用方法,又對自動控制的基本原理有清楚認(rèn)識。
在“Matlab語言及應(yīng)用”課程教學(xué)中,筆者從課時安排、授課內(nèi)容和重點(diǎn)習(xí)題的講解方法三方面做了精心的設(shè)計(jì),通過短學(xué)期16個學(xué)時(8+16)的授課和上機(jī)學(xué)習(xí),學(xué)生較為全面地掌握了Matlab的使用方法。上機(jī)實(shí)踐能力和綜合運(yùn)用水平得到鍛煉并有顯著提高。本課程教學(xué)在重視技能培養(yǎng)的同時,引導(dǎo)學(xué)生將Matlab學(xué)習(xí)的過程升華為一個從專業(yè)理論知識到Matlab實(shí)踐、再由實(shí)踐總結(jié)加深對專業(yè)理論知識的認(rèn)知的過程,在Matlab實(shí)踐中建立起較為完備的知識體系。
[1] 陳海秀.MAT ALB在誤差理論和數(shù)據(jù)處理教學(xué)中的應(yīng)用[J].濟(jì)南:科技信息,2009,2,79-79
[2] 師玉寶.《自動控制理論》課程引入MA TALB軟件的教學(xué)組織與實(shí)施[J].西寧:青海大學(xué)學(xué)報(bào),2009,vol27(4):89-91
[3] 潘矜矜,楊小勁.Matlab與《信號與系統(tǒng)》課程教學(xué)改革的探討[J].福州:福建電腦,2009,第 2期,206-207
[4] 楊夷梅,楊玉軍.Matlab教學(xué)中的方法與實(shí)踐[J].保定:中國電力教育,2008年,No.127,59-60
[5] 張玉葉,馬峰全.談Matlab實(shí)驗(yàn)教學(xué)中學(xué)生探索思維的培養(yǎng)[J].石家莊:石家莊學(xué)院學(xué)報(bào),2007,vol9(6):114-116