聶春燕
(長(zhǎng)春大學(xué) 電子信息學(xué)院, 長(zhǎng)春 130022)
MATLAB軟件目前成為國(guó)際上流行的計(jì)算機(jī)仿真軟件工具之一,已經(jīng)被廣泛地應(yīng)用在工程設(shè)計(jì)的各個(gè)領(lǐng)域中,如測(cè)試控制、通信、電子、以及自動(dòng)化等領(lǐng)域,屬于一種功能強(qiáng)大、編程簡(jiǎn)單、易學(xué)、非常實(shí)用的編程語(yǔ)言,是通用的數(shù)值仿真、科學(xué)計(jì)算和可視化及動(dòng)態(tài)仿真的重要工具,目前各大高校普遍開(kāi)設(shè)了此課程。通過(guò)MATLAB 在理論和實(shí)踐教學(xué)中的應(yīng)用,用 MATLAB 語(yǔ)言描述抽象的理論知識(shí),使理論知識(shí)更具體化,便于應(yīng)用于實(shí)際工程中[1]。尤其對(duì)于電類(lèi)課程中很多枯燥的理論內(nèi)容,非常需要仿真軟件去形象逼真地展示過(guò)程和結(jié)果,所以,讓學(xué)生掌握一門(mén)仿真軟件勢(shì)在必行。教學(xué)服務(wù)于應(yīng)用,使《MATLAB軟件應(yīng)用》課程的教學(xué)與科研、應(yīng)用緊密地結(jié)合起來(lái),突出實(shí)踐應(yīng)用,為他們后續(xù)專(zhuān)業(yè)課的學(xué)習(xí)、、課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)、科研活動(dòng)等打下仿真知識(shí)的基礎(chǔ)。
20世紀(jì)70年代,美國(guó)New Mexico大學(xué)計(jì)算機(jī)系主任Cleve Moler博士在給學(xué)生講授線性代數(shù)時(shí),發(fā)現(xiàn)學(xué)生們應(yīng)用EISPACK和LINPACK庫(kù)程序編寫(xiě)FORTRAN接口時(shí)特別困難,于是他自己親自動(dòng)手,在業(yè)余時(shí)間開(kāi)發(fā)出方便學(xué)生使用的接口程序,并且用MATrix和LABoratory兩個(gè)單詞的前3個(gè)字母組合成一個(gè)名字叫MATLAB[2]。在這之后,MATLAB軟件作為教學(xué)仿真軟件在很多所高等學(xué)校中被應(yīng)用,而且作為一種免費(fèi)的仿真軟件被廣泛流傳。當(dāng)今,人們普遍使用的MATLAB軟件是MathWorks公司用C語(yǔ)言開(kāi)發(fā)的。該仿真軟件已經(jīng)被確認(rèn)為可靠、準(zhǔn)確的科學(xué)仿真標(biāo)準(zhǔn)軟件之一。
當(dāng)前許多理工科院校已經(jīng)將MATLAB仿真軟件列為學(xué)生必須了解的仿真軟件,也是教育部指導(dǎo)委員會(huì)指定要求的一門(mén)仿真軟件課程。長(zhǎng)春大學(xué)電子信息學(xué)院(以下簡(jiǎn)稱(chēng)學(xué)院)的電子信息工程專(zhuān)業(yè)、通信工程專(zhuān)業(yè)、測(cè)控專(zhuān)業(yè)、物聯(lián)網(wǎng)、電氣及其自動(dòng)化等專(zhuān)業(yè)都開(kāi)了這門(mén)課程。學(xué)院從2006年開(kāi)設(shè)《MATLAB軟件應(yīng)用》以來(lái),通過(guò)本課程的講授,旨在提高學(xué)生解決實(shí)際工程仿真的能力。將MATLAB 軟件作為一個(gè)工具引入課堂教學(xué)中,用軟件仿真方式加深學(xué)生對(duì)相關(guān)課程重要知識(shí)點(diǎn)的理解。一些課程由于理論推導(dǎo)復(fù)雜、繪圖比較難,尤其數(shù)學(xué)計(jì)算過(guò)程比較繁瑣復(fù)雜,經(jīng)常使一些學(xué)生感到學(xué)習(xí)內(nèi)容難于理解。MATLAB仿真是理論聯(lián)系實(shí)際的重要紐帶[3]。將MATLAB語(yǔ)言引進(jìn)課堂進(jìn)行教學(xué),教師可以邊講解、邊操作,使授課內(nèi)容豐富、直觀,可以有效提高課堂教學(xué)效率[4]。例如在對(duì)自動(dòng)控制系統(tǒng)的性能分析中,以往課堂上需要在黑板上花費(fèi)很多時(shí)間繪制系統(tǒng)響應(yīng)曲線,而利用MATLAB軟件可以方便地繪制出系統(tǒng)響應(yīng)曲線并且還可以動(dòng)態(tài)演示,使得教學(xué)內(nèi)容一目了然,便于學(xué)生理解抽象的教學(xué)內(nèi)容,提升學(xué)生理解能力。
我校的辦學(xué)宗旨是以培養(yǎng)應(yīng)用型和創(chuàng)新型人才為培養(yǎng)目標(biāo),作為課程組教師經(jīng)常到相關(guān)院校進(jìn)行學(xué)習(xí),同時(shí)借鑒國(guó)內(nèi)外優(yōu)秀院校的先進(jìn)教學(xué)理念以及教學(xué)改革成果。
(1)不斷完善課件和課程網(wǎng)站的建設(shè),錄制微課、慕課等,增加網(wǎng)絡(luò)視頻教學(xué),豐富網(wǎng)上課程資源,為直觀地展現(xiàn)教學(xué)內(nèi)容,便于課后學(xué)生復(fù)習(xí),學(xué)生提供一個(gè)具有獨(dú)立、自由、開(kāi)放、靈活、豐富的學(xué)習(xí)空間。
(2)增加網(wǎng)上實(shí)時(shí)答疑輔導(dǎo),實(shí)時(shí)解答學(xué)生的疑問(wèn)。
(3)在教學(xué)內(nèi)容選擇上,盡量與學(xué)生所學(xué)專(zhuān)業(yè)相結(jié)合;課堂上,鞏固所學(xué)知識(shí)的同時(shí),力爭(zhēng)激發(fā)學(xué)生的學(xué)習(xí)興趣,提高學(xué)生創(chuàng)新、動(dòng)手的應(yīng)用能力。
(4)積累教學(xué)經(jīng)驗(yàn),修訂教材,增填實(shí)際工程中的應(yīng)用實(shí)例以及涉及的后續(xù)相關(guān)課程的仿真實(shí)例。
(5)課堂上采用靈活的授課方式,融入比較式教學(xué)和啟發(fā)式教學(xué)的理念,充分調(diào)動(dòng)學(xué)生學(xué)習(xí)的主動(dòng)性和創(chuàng)造性。
《MATLAB軟件應(yīng)用》課程主要講授二維繪圖、自控原理、電路、信號(hào)與系統(tǒng)、數(shù)字信號(hào)處理以及通信工程等多種課程中的仿真應(yīng)用實(shí)例。
(1)實(shí)時(shí)操作式教學(xué)。所有課程內(nèi)容均采用多媒體教學(xué)。在機(jī)房里授課,基于仿真教學(xué)的需要,可以做到實(shí)時(shí)仿真、實(shí)時(shí)解決問(wèn)題。通過(guò)大量的應(yīng)用實(shí)例講授系統(tǒng)建模仿真的基本方法和技巧,從而解決專(zhuān)業(yè)課程的學(xué)習(xí)、科學(xué)研究和實(shí)際現(xiàn)場(chǎng)工程中的仿真問(wèn)題。
(2)啟發(fā)式教學(xué)。該種教學(xué)方法是在課堂教學(xué)的過(guò)程中,教師提出問(wèn)題,積極引導(dǎo)學(xué)生去思考,從而增強(qiáng)學(xué)生的求知欲。加強(qiáng)學(xué)生的聯(lián)想思維、發(fā)散思維的能力及創(chuàng)新能力,加強(qiáng)課堂上的師生互動(dòng),是一種行之有效的教學(xué)方法。
(3)多種教學(xué)手段相結(jié)合式教學(xué)。采用上機(jī)和多種媒體為主的教學(xué)手段,針對(duì)不同的教學(xué)內(nèi)容尋求最佳的表述方式,如實(shí)時(shí)演示、虛擬仿真、動(dòng)畫(huà)課件等。對(duì)于偏重操作的MATLAB軟件學(xué)習(xí),輔以實(shí)例進(jìn)行演示,會(huì)令學(xué)生對(duì)知識(shí)點(diǎn)的掌握更加直觀明了,同時(shí)也更容易激發(fā)學(xué)習(xí)的興趣[5]。將現(xiàn)代教育技術(shù)充分運(yùn)用到MATLAB仿真課程的教學(xué)中,可以豐富教學(xué)內(nèi)容,達(dá)到在有限的學(xué)時(shí)內(nèi),為學(xué)生提供豐富的信息量。
MATLAB軟件可以充分將理論和實(shí)踐相結(jié)合,能使學(xué)生更好地將理論應(yīng)用于工程實(shí)踐中。MATLAB仿真軟件可以完成信號(hào)與系統(tǒng)的分析,能夠更準(zhǔn)確、快速和直觀地得到可視化仿真結(jié)果, 教學(xué)效果生動(dòng)形象。
下面給出幾個(gè)MATLAB仿真實(shí)例。
實(shí)例1求LTI線性時(shí)不變系統(tǒng)的沖激響應(yīng)和階躍響應(yīng)。已知系統(tǒng)輸入輸出微分方程如下:
編制M文件如下:
a=[2,3,5];b=[2,1]; %賦初始值
figure(1),impulse(b,a) %畫(huà)出沖激響應(yīng)
grid on
figure(2),step(b,a) %畫(huà)出階躍響應(yīng)
grid on
運(yùn)行以上程序,得到?jīng)_激響應(yīng)波形圖和階躍響應(yīng)波形圖,分別如圖1和圖2所示。
圖1 系統(tǒng)沖激響應(yīng) 圖2 系統(tǒng)階躍響應(yīng)
綜上可見(jiàn), MATLAB仿真軟件可以生動(dòng)形象地讓學(xué)生快速了解線性時(shí)不變系統(tǒng)的沖激響應(yīng)波形和階躍響應(yīng)波形的真實(shí)具體形態(tài)。
《自動(dòng)控制原理》課程所研究的自動(dòng)控制規(guī)律,具有一定的抽象性。掌握其基本問(wèn)題、 方法和思想對(duì)初學(xué)者來(lái)說(shuō)較為困難。
在MATLAB命令窗口輸入如下:
num=[1 5 9 24];
den=[1 3 10 25 30 36];
sys=tf(num,den); %建立連續(xù)系統(tǒng)的連續(xù)函數(shù)
pzmap(sys)
運(yùn)行程序的結(jié)果如圖3所示。
圖3 系統(tǒng)的零極點(diǎn)圖
由圖3可知,該系統(tǒng)有位于s右半平面的極點(diǎn),因此系統(tǒng)不穩(wěn)定??梢?jiàn),在《自動(dòng)控制原理》課程的教學(xué)過(guò)程中,教師有時(shí)需要分析多個(gè)控制變量、繪制多條曲線,很難畫(huà)出準(zhǔn)確的曲線。但 MATLAB 可以很迅速地繪制出不同環(huán)節(jié)的圖形,便于學(xué)生理解記憶。
曲線擬合是根據(jù)一組或多組數(shù)據(jù)找出可以描述數(shù)據(jù)走向的一條曲線的過(guò)程,是人們?cè)O(shè)法找出某條光滑曲線最佳的擬合數(shù)據(jù),其是評(píng)價(jià)是否準(zhǔn)確描述測(cè)量數(shù)據(jù)的常用的方法。
實(shí)例3如數(shù)據(jù) x=[0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1]和y=[-0.32 0.75 1.86 4.56 5.14 6.43 7.21 9.2 10.78 12.66 15.86],畫(huà)出數(shù)據(jù)點(diǎn),對(duì)數(shù)據(jù)x和y再做9階多項(xiàng)式曲線擬合,并在同一坐標(biāo)里分別繪出原數(shù)據(jù)曲線、二次擬合曲線、9階擬合曲線。
程序如下:
x=[0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1];
y=[-0.32 0.75 1.86 4.56 5.14 6.43 7.21 9.2 10.78 12.66 15.86];
p2=polyfit(x,y,2);
p9=polyfit(x,y,9);
x1=linspace(0,1,60);
y1=polyval(p2,x1);
y2=polyval(p9,x1);
plot(x,y,'*r',x1,y1,'--',x1,y2,'b')
程序運(yùn)行結(jié)果如圖4所示。
圖4 原數(shù)據(jù)、二次擬合曲線與9階擬合曲線
通過(guò)對(duì)圖4分析可知,在實(shí)際工程中,為了提高擬合準(zhǔn)確性,常采用高階多項(xiàng)式進(jìn)行擬合所測(cè)量的數(shù)據(jù)。但是,如果提高多項(xiàng)式階次,也會(huì)給擬合曲線帶來(lái)局部波浪曲線,從而增加擬合的均方誤差,對(duì)工程中的數(shù)據(jù)分析帶來(lái)不利影響。因此,對(duì)測(cè)試數(shù)據(jù)進(jìn)行擬合分析時(shí),一定要綜合考慮擬合的階次和均方誤差的因素,才能充分讓擬合發(fā)揮其作用。
《MATLAB軟件應(yīng)用》課程主要講授MATLAB仿真軟件的各種功能與應(yīng)用,是培養(yǎng)應(yīng)用型和創(chuàng)新型人才必修課程之一。在該課程建設(shè)中,不斷改革課程的教學(xué)內(nèi)容、教學(xué)方法、教學(xué)手段和考核方式等。通過(guò)本課程的學(xué)習(xí),可以提高學(xué)生解決工程實(shí)踐的能力和創(chuàng)新能力。