聶春燕
(長春大學 電子信息學院, 長春 130022)
MATLAB軟件目前成為國際上流行的計算機仿真軟件工具之一,已經被廣泛地應用在工程設計的各個領域中,如測試控制、通信、電子、以及自動化等領域,屬于一種功能強大、編程簡單、易學、非常實用的編程語言,是通用的數值仿真、科學計算和可視化及動態仿真的重要工具,目前各大高校普遍開設了此課程。通過MATLAB 在理論和實踐教學中的應用,用 MATLAB 語言描述抽象的理論知識,使理論知識更具體化,便于應用于實際工程中[1]。尤其對于電類課程中很多枯燥的理論內容,非常需要仿真軟件去形象逼真地展示過程和結果,所以,讓學生掌握一門仿真軟件勢在必行。教學服務于應用,使《MATLAB軟件應用》課程的教學與科研、應用緊密地結合起來,突出實踐應用,為他們后續專業課的學習、、課程設計、畢業設計、科研活動等打下仿真知識的基礎。
20世紀70年代,美國New Mexico大學計算機系主任Cleve Moler博士在給學生講授線性代數時,發現學生們應用EISPACK和LINPACK庫程序編寫FORTRAN接口時特別困難,于是他自己親自動手,在業余時間開發出方便學生使用的接口程序,并且用MATrix和LABoratory兩個單詞的前3個字母組合成一個名字叫MATLAB[2]。在這之后,MATLAB軟件作為教學仿真軟件在很多所高等學校中被應用,而且作為一種免費的仿真軟件被廣泛流傳。當今,人們普遍使用的MATLAB軟件是MathWorks公司用C語言開發的。該仿真軟件已經被確認為可靠、準確的科學仿真標準軟件之一。
當前許多理工科院校已經將MATLAB仿真軟件列為學生必須了解的仿真軟件,也是教育部指導委員會指定要求的一門仿真軟件課程。長春大學電子信息學院(以下簡稱學院)的電子信息工程專業、通信工程專業、測控專業、物聯網、電氣及其自動化等專業都開了這門課程。學院從2006年開設《MATLAB軟件應用》以來,通過本課程的講授,旨在提高學生解決實際工程仿真的能力。將MATLAB 軟件作為一個工具引入課堂教學中,用軟件仿真方式加深學生對相關課程重要知識點的理解。一些課程由于理論推導復雜、繪圖比較難,尤其數學計算過程比較繁瑣復雜,經常使一些學生感到學習內容難于理解。MATLAB仿真是理論聯系實際的重要紐帶[3]。將MATLAB語言引進課堂進行教學,教師可以邊講解、邊操作,使授課內容豐富、直觀,可以有效提高課堂教學效率[4]。例如在對自動控制系統的性能分析中,以往課堂上需要在黑板上花費很多時間繪制系統響應曲線,而利用MATLAB軟件可以方便地繪制出系統響應曲線并且還可以動態演示,使得教學內容一目了然,便于學生理解抽象的教學內容,提升學生理解能力。
我校的辦學宗旨是以培養應用型和創新型人才為培養目標,作為課程組教師經常到相關院校進行學習,同時借鑒國內外優秀院校的先進教學理念以及教學改革成果。
(1)不斷完善課件和課程網站的建設,錄制微課、慕課等,增加網絡視頻教學,豐富網上課程資源,為直觀地展現教學內容,便于課后學生復習,學生提供一個具有獨立、自由、開放、靈活、豐富的學習空間。
(2)增加網上實時答疑輔導,實時解答學生的疑問。
(3)在教學內容選擇上,盡量與學生所學專業相結合;課堂上,鞏固所學知識的同時,力爭激發學生的學習興趣,提高學生創新、動手的應用能力。
(4)積累教學經驗,修訂教材,增填實際工程中的應用實例以及涉及的后續相關課程的仿真實例。
(5)課堂上采用靈活的授課方式,融入比較式教學和啟發式教學的理念,充分調動學生學習的主動性和創造性。
《MATLAB軟件應用》課程主要講授二維繪圖、自控原理、電路、信號與系統、數字信號處理以及通信工程等多種課程中的仿真應用實例。
(1)實時操作式教學。所有課程內容均采用多媒體教學。在機房里授課,基于仿真教學的需要,可以做到實時仿真、實時解決問題。通過大量的應用實例講授系統建模仿真的基本方法和技巧,從而解決專業課程的學習、科學研究和實際現場工程中的仿真問題。
(2)啟發式教學。該種教學方法是在課堂教學的過程中,教師提出問題,積極引導學生去思考,從而增強學生的求知欲。加強學生的聯想思維、發散思維的能力及創新能力,加強課堂上的師生互動,是一種行之有效的教學方法。
(3)多種教學手段相結合式教學。采用上機和多種媒體為主的教學手段,針對不同的教學內容尋求最佳的表述方式,如實時演示、虛擬仿真、動畫課件等。對于偏重操作的MATLAB軟件學習,輔以實例進行演示,會令學生對知識點的掌握更加直觀明了,同時也更容易激發學習的興趣[5]。將現代教育技術充分運用到MATLAB仿真課程的教學中,可以豐富教學內容,達到在有限的學時內,為學生提供豐富的信息量。
MATLAB軟件可以充分將理論和實踐相結合,能使學生更好地將理論應用于工程實踐中。MATLAB仿真軟件可以完成信號與系統的分析,能夠更準確、快速和直觀地得到可視化仿真結果, 教學效果生動形象。
下面給出幾個MATLAB仿真實例。
實例1求LTI線性時不變系統的沖激響應和階躍響應。已知系統輸入輸出微分方程如下:

編制M文件如下:
a=[2,3,5];b=[2,1]; %賦初始值
figure(1),impulse(b,a) %畫出沖激響應
grid on
figure(2),step(b,a) %畫出階躍響應
grid on
運行以上程序,得到沖激響應波形圖和階躍響應波形圖,分別如圖1和圖2所示。

圖1 系統沖激響應 圖2 系統階躍響應
綜上可見, MATLAB仿真軟件可以生動形象地讓學生快速了解線性時不變系統的沖激響應波形和階躍響應波形的真實具體形態。
《自動控制原理》課程所研究的自動控制規律,具有一定的抽象性。掌握其基本問題、 方法和思想對初學者來說較為困難。

在MATLAB命令窗口輸入如下:
num=[1 5 9 24];
den=[1 3 10 25 30 36];
sys=tf(num,den); %建立連續系統的連續函數
pzmap(sys)
運行程序的結果如圖3所示。

圖3 系統的零極點圖
由圖3可知,該系統有位于s右半平面的極點,因此系統不穩定。可見,在《自動控制原理》課程的教學過程中,教師有時需要分析多個控制變量、繪制多條曲線,很難畫出準確的曲線。但 MATLAB 可以很迅速地繪制出不同環節的圖形,便于學生理解記憶。
曲線擬合是根據一組或多組數據找出可以描述數據走向的一條曲線的過程,是人們設法找出某條光滑曲線最佳的擬合數據,其是評價是否準確描述測量數據的常用的方法。
實例3如數據 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],畫出數據點,對數據x和y再做9階多項式曲線擬合,并在同一坐標里分別繪出原數據曲線、二次擬合曲線、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')
程序運行結果如圖4所示。

圖4 原數據、二次擬合曲線與9階擬合曲線
通過對圖4分析可知,在實際工程中,為了提高擬合準確性,常采用高階多項式進行擬合所測量的數據。但是,如果提高多項式階次,也會給擬合曲線帶來局部波浪曲線,從而增加擬合的均方誤差,對工程中的數據分析帶來不利影響。因此,對測試數據進行擬合分析時,一定要綜合考慮擬合的階次和均方誤差的因素,才能充分讓擬合發揮其作用。
《MATLAB軟件應用》課程主要講授MATLAB仿真軟件的各種功能與應用,是培養應用型和創新型人才必修課程之一。在該課程建設中,不斷改革課程的教學內容、教學方法、教學手段和考核方式等。通過本課程的學習,可以提高學生解決工程實踐的能力和創新能力。