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