摘要:在電路理論課程的教學中引入了利用MATLAB軟件計算和仿真電路的內容,通過幾個具體電路來介紹用MATLAB軟件計算和仿真電路的方法。教學實踐表明:在電路理論課程中引入MATLAB軟件后,可以減少學生做電路習題所花的時間,加深學生對電路理論的認識和理解,激發學生的學習興趣。
關鍵詞:電路理論課程;MATLAB;教學
中圖分類號:G642.0 文獻標識碼:A 文章編號:1007-0079(2014)12-0047-03
MATLAB是美國MathWorks公司開發的大型科學計算軟件,已經廣泛地應用于科學研究和工程技術的眾多領域,將MATLAB軟件引入理工科專業的教學中顯得越來越重要。電路理論課程是電氣信息類專業的一門重要基礎課程,該課程以分析電路中的電磁現象、研究電路的基本規律及電路的分析方法為主要內容。電路理論課程的學習對樹立學生嚴肅認真的科學作風和理論聯系實際的工程觀點,培養學生的科學思維能力、分析計算能力、實驗研究能力和科學歸納能力都有重要的作用。[1]讓學生了解一種電路分析軟件,并能用其求解電路理論課程的習題,是電路理論課程的教學要求之一,因此有必要將MATLAB軟件引入電路理論課程的教學中。[2]本文通過幾個具體電路來介紹用MATLAB軟件計算和仿真電路的方法,以供大家參考。
一、基于MATLAB的電路計算
MATLAB也是一種高級語言,其語法特征與C語言相似,編程比C語言簡單的多。電路的計算涉及到方程的求解,用手工求解方程不僅費時,而且容易出錯。編寫MATLAB程序來求解方程則可以節省大量的時間。由MATLAB語句構成的程序稱為M文件,它將M作為文件的擴展名。由于M文件是ASCΙΙ碼文本文件,用戶可以用任何文件編輯器來對M文件繼續編輯。MATLAB為用戶提供了專用的M文件編輯器,用來幫助用戶完成M文件的創建、保存、編輯、調試和執行等工作。M文件分為兩種:一種是命令文件(script file),另一種是函數文件(function file)。
命令文件就是命令行的簡單疊加,MATLAB會自動按順序執行文件中的命令。命令文件中定義或使用的變量都是全局變量,在退出文件后仍是有效變量,且被保留在工作空間中,其他命令文件和函數可以共享這些變量。命令文件在運行過程中可以調用MATLAB工作空間中的所有數據。在程序設計中,命令文件常作為主程序來設計。
函數文件主要用來解決參數傳遞和函數調用問題。函數文件可以接受輸入變量,也可以返回輸出變量。除了輸入變量和輸出變量以外,在函數文件內部使用的其他變量通常為該函數文件的局部變量,僅在函數內部起作用,并隨調用的結束而被消除。MATLAB所提供的絕大多數功能函數都是用函數文件實現的,這足以說明函數文件的重要性。函數文件必須以關鍵字function開頭,第一行為函數說明語句,其格式為:
function [輸出變量1,輸出變量2,…]=函數名[輸入變量1,輸入變量2,…]
其中,函數名由用戶自己定義,通常取其存儲文件的文件名與函數名一致。若不一致,則在調用時應使用文件名。
下面通過3個例子[3]來分別說明利用MATLAB軟件計算電阻性電路、正弦穩態電路和動態電路的過程。
例1 電路如圖1所示,已知,,,,,,。試用節點電壓法求電壓u和電流i1。
(4)運行exm3b.m,得到如圖4所示的計算結果。
通過上面的3個例子可以看出:只有在學生能夠分析電路的前提下,才能寫出相應的方程;編寫MATLAB程序是很簡單的;MATLAB軟件僅僅起到輔助計算的作用,但可以使學生從繁瑣的計算中解脫出來,節省做電路習題的時間,將節省的時間用來學習電路的基本概念、基本原理和基本分析方法。
二、基于Simulink的動態電路仿真
Simulink是MATLAB中的一種可視化仿真工具,用來實現動態系統的建模和仿真。[4]Simulink提供了一些基本模塊,這些模塊放在庫瀏覽器里,用戶可以通過鼠標將模塊拖放到模型窗口中。用戶只需知道模塊的功能、輸入和輸出,而不必管模塊內部是怎樣實現的。在模型窗口中,雙擊某個模塊,就會彈出設置該模塊參數的對話框。通過模型窗口上的菜單欄可設置仿真參數。
庫瀏覽器的作用是讓用戶快速地對模塊進行定位。庫瀏覽器包括Commonly Used Blocks庫、Continuous庫、Discontinuities庫、Discrete庫、Logic and Bit Operations庫、Lookup Tabels庫、Math Operations庫、Model Verification庫、Model-Wide Utilities庫、Ports and Subsystems庫、Signal Routing庫、Sinks庫、Sources庫、Used-Defined Functions庫、Additional Math Discrete庫。一般從庫名可以看出該庫中模塊的功能,例如,Sources庫中都是產生信號的模塊。
對于前面的例3,也可以根據式(1),利用Simulink提供的模塊建立如圖5所示的仿真模型,運行該仿真模型就可以得到如圖6所示的仿真結果,圖6中從上到下依次為i1和i2的波形。顯然圖4和圖6所示的波形是相同的。
從上面的過程可以看出:只有在學生能夠分析電路的前提下,才能寫出相應的方程;利用Simulink提供的模塊建立動態電路的仿真模型很容易;Simulink能夠以圖形的方式顯示仿真結果,從而使學生直觀地看到輸入和輸出的波形,加深學生對動態電路的認識和理解。
三、基于電力系統工具箱的動態電路仿真
電力系統仿真工具箱(SimPowerSystems)是以Simulink為基礎的工具箱,可用于電路、電力電子系統、電機系統、電力系統的仿真。電力系統仿真工具箱包括Electric Sources庫、Elements庫、Power Electronics庫、Machines庫、Measurements庫、Application library、Extra library和Powergui模塊,每個庫中都有幾十個模塊,這些模塊的使用方法與Simulink中模塊的使用方法相同。
利用電力系統仿真工具箱來建立電路的仿真模型,主要工作就是在模型窗口中把相應的虛擬電路搭起來,類似于在面包板做電路實驗。
下面以方波激勵下的一階RC電路為例來說明利用電力系統仿真工具箱仿真動態電路的過程。
例4 電路如圖7所示,已知為方波,其幅度為10V,周期為0.01s。試畫出下面兩種情況下和的波形。
、時的仿真結果如圖9所示,從上到下依次為、和的波形。在取本組電路參數的情況下,電路的時間常數τ和方波脈沖的周期T之間滿足如下關系:。從波形上看,是對積分的結果。因此這種電路稱為積分電路。在脈沖電路中,可應用積分電路把方波脈沖(或矩形脈沖)變換為三角波電壓(或鋸齒波電壓),作掃描等用。
、時的仿真結果如圖10所示,從上到下依次為、和的波形。在取本組電路參數的情況下,電路的時間常數τ和方波脈沖的周期T之間滿足如下關系:。從波形上看,為尖頂波,它反映了輸入方波脈沖的躍變部分,是對方波脈沖微分的結果。因此這種電路稱為微分電路。在脈沖電路中,常應用微分電路把方波脈沖變換為尖脈沖,作為觸發信號。
從上面的過程可以看出:利用電力系統工具箱仿真動態電路并不要求學生事先能夠分析待仿真的電路;若學生能夠正確地建立電路的仿真模型,就能夠從示波器(Scope)上看到正確的仿真波形。
四、結束語
本文介紹了利用MATLAB軟件計算和仿真電路的幾種方法,同時也可以看到將MATLAB軟件引入電路理論課程的教學中,可以達到以下教學效果:第一,利用MATLAB軟件計算電路,可以減少學生做電路習題所花的時間,從而使學生有更多的時間去理解和掌握電路的基本概念、基本原理和基本分析方法。第二,利用MATLAB軟件仿真電路,可以使學生直觀地看到電路的輸入和輸出波形,加深學生對電路的認識和理解,激發學生的學習興趣。
參考文獻:
[1]教育部高等學校電子電氣基礎課程教學指導分委員會.電子電氣基礎課程教學基本要求[M].北京:高等教育出版社,2011.
[2]田社平,陳洪亮,張峰.MATLAB函數編程在電路分析中的應用[J].電氣電子教學學報,2010,32(6):105-107.
[3]邱關源.電路[M].第5版.北京:高等教育出版社,2006.
[4]樊亞東,劉迪,崔雪,等.Simulink在電路課程教學一體化中的應用[J].電氣電子教學學報,2010,32(6):101-103.
(責任編輯:王意琴)