拉巴次仁
(西藏大學(xué)理學(xué)院 西藏 拉薩 850000)
Matlab是美國Mathworks 公司推出的一套集數(shù)值分析、矩陣運(yùn)算、信號(hào)處理和圖形顯示于一體的高性能軟件,它已經(jīng)成為數(shù)學(xué)計(jì)算、數(shù)據(jù)分析與可視化、信號(hào)處理和仿真等領(lǐng)域首先的工具軟件.動(dòng)態(tài)電路分析的基本方法是建立微分方程,然后用高等數(shù)學(xué)知識(shí)求解微分方程,最后得到電壓電流響應(yīng)的表達(dá)式,然而動(dòng)態(tài)電路分析中,最困難的事情是求解微分方程,即便是求出微分方程的解,結(jié)果中也看不出其物理含義.文章通過幾個(gè)實(shí)例介紹了Matlab在電路分析教學(xué)中的應(yīng)用,幫助學(xué)生更好更快地了解電路特性和掌握電路原理.
【例1】圖1(a)所示的RC電路中的開關(guān)連接至1端已經(jīng)很久,在t=0時(shí),開關(guān)迅速由1端轉(zhuǎn)換到2端,如圖1(b)所示,試求t≥0 的電容電壓uC(t),并畫出波形.
圖1
解析:由圖1(b)所示電路的KVL方程、KCL方程和VCR方程得到以下微分方程
上式是常系數(shù)線性一階齊次微分方程,編寫如下的Matlab程序來求該微分方程的解,并畫出電壓響應(yīng)曲線.
clear all;clc
syms u t
uc=dsolve(′0.05*Du+u=0′,′u(0)=3.5′,′t′); %解微分方程(設(shè)時(shí)間常數(shù)RC=0.05 s,初始值3.5 V)
picture=ezplot(uc); set(picture,′color′,′k′,′LineWidth′,2) %畫出時(shí)間常數(shù)RC=0.05 s時(shí)的波形
axis([0 0.30 3.5])
hold on
uc=dsolve(′0.02*Du+u=0′,′u(0)=3.5′,′t′); %解微分方程(設(shè)時(shí)間常數(shù)RC=0.02 s,初始值
3.5 V)
picture=ezplot(uc); set(picture,′color′,′k′,′LineStyle′,′--′,′LineWidth′,2) %畫出時(shí)間常數(shù)RC=0.02s時(shí)的波形
axis([0 0.30 3.5])
xlabel(′t /s′,′FontSize′,14,′FontAngle′,′italic′);
ylabel(′u_c(t)/ V′,′FontSize′,14,′FontAngle′,′italic′)
legend(′RC=0.05s′,′RC=0.02 s′)
圖2形象直觀地展示了電容電壓與電路時(shí)間常數(shù)之間的關(guān)系.電路時(shí)間常數(shù)RC的大小決定著電容電壓放電的快慢,在課堂上容易修改RC的值,可繪制不同的曲線,幫助學(xué)生更好地了解RC零輸入響應(yīng)的特性.
圖2 RC電路零輸入響應(yīng)的波形
【例2】電路如圖3所示, 試求RLC串聯(lián)電路的響應(yīng),并畫出響應(yīng)波形.
圖3
解析:根據(jù)KCL,KVL和VCR方程,列出圖3的微分方程
以上是二階非齊次微分方程,用傳統(tǒng)的筆算方法解此微分方程,對(duì)于大多數(shù)藏族學(xué)生來說有很大的難度,它是二階電路分析教學(xué)中的難點(diǎn).用Matlab強(qiáng)大的數(shù)值計(jì)算功能,很輕松地解出上面二階微分方程,使師生們從繁重的數(shù)學(xué)計(jì)算中解脫出來,并順利地完成該章節(jié)的學(xué)習(xí)任務(wù).
使用ode45函數(shù)解此微分方程,先要把該二階微分方程改寫為一階常微分方程組
然后,創(chuàng)建一個(gè)M函數(shù)文件myfun(),Matlab的代碼設(shè)置如下:
function myfun()
clear all;clc
ts=[0,3];%
u0=[3;0.28];
[t,u]=ode45(@myfun1,ts,u0,[],6,1,0.04,0); %解微分方程,設(shè)參數(shù)值
picture=plot(t,u(:,1),′k′,t,u(:,2),′k--′); %畫圖
set(picture,′LineWidth′,2)
xlabel(′t′,′FontSize′,12,′FontAngle′,′italic′)
ylabel(′u_c(t) / i_L(t)′,′FontSize′,12,′FontAngle′,′italic′)
legend(′電壓波形′,′電流波形′)
function up=myfun1(t,u,R,L,C,U)
up=[u(2);-(R/L)*u(2)-1/(L*C)*u(1)+U/(L*C)];
hold on
alpha=R/2*L;
text(1,2,[′衰減系數(shù) alpha=′,num2str(alpha)])
圖4
圖4(a)是電容電壓初始值為3 V,電感電流初始值為0.28 A,R=6 Ω,L=1 H,C=0.04 F,U=0時(shí)得到的電容電壓和電感電流的波形圖;圖4(b)是其他參數(shù)值不變,R=1時(shí)得到的圖.另外,當(dāng)U等于某常量時(shí)又可以得到直流激勵(lì)下RLC串聯(lián)電路的響應(yīng),因此該程序基本上通用于RLC串聯(lián)的二階電路分析.
【例3】圖5所示的RC電路,電路原來已經(jīng)達(dá)到穩(wěn)定狀態(tài),在t=0時(shí)開關(guān)斷開,正弦電流iS(t)=ISmcos(ωt+φi)作用于RC電路,求電容電壓uc(t)的響應(yīng),并畫圖.
圖5
解析:寫出開關(guān)斷開之后電路的微分方程
求解上述微分方程中,涉及到解三角函數(shù)方程,求解過程相當(dāng)?shù)姆爆?,又容易出錯(cuò),課堂上一直把解三角函數(shù)的過程跳過,直接給出結(jié)果.我們利用Matlab強(qiáng)大的數(shù)值計(jì)算的功能,解出上述正弦穩(wěn)態(tài)響應(yīng)的表達(dá)式,并把結(jié)果圖形顯示,Matlab的程序如下:
clear all; clc
syms u C R t w b I U
u=dsolve(′C*Du+1/R*u=I*cos(w*t+b)′,′u(0)=U′);
w=2;U=0;I=2;R=1;C=2;
b=pi/6; %theta
uc=eval(u); %電容電壓的表達(dá)式
t=0∶0.001∶10;
uc3=eval(u); %電容電壓的表達(dá)式
plot(t,uc3,′k′,′Linewidth′,2)
hold on
t=0∶0.001∶10;
uc1=-3226857735129493/9570149208162304*
exp(-1/2*t); %從上面的uc表達(dá)式中截取瞬態(tài)的響應(yīng)
plot(t,uc1,′k--′,′Linewidth′,1.5)
hold on
t=0∶0.001∶10;
uc2=2/17*cos(2*t+1/6*pi)+8/17*sin(2*t+1/6*pi);%從上面的uc表達(dá)式中截取正弦穩(wěn)態(tài)響應(yīng)
plot(t,uc2,′k-.′,′Linewidth′,1.5)
grid on
xlabel(′t′,′FontSize′,12,′FontAngle′,′italic′)
ylabel(′u_c(t)′,′FontSize′,12,′FontAngle′,′italic′)
set(gca,′XTick′,[0 5 10]);
set(gca,′YTick′,[-0.4 -0.2 0 0.2 0.4]);
axis([0 10 -0.62 0.8])
legend(′電容電壓的曲線′,′瞬態(tài)響應(yīng)′,′正弦穩(wěn)態(tài)響應(yīng)′);
圖6中實(shí)線波形是正弦穩(wěn)態(tài)響應(yīng)曲線,從整個(gè)時(shí)間段里看,該曲線并非按正弦規(guī)律變換,所以也就談不上什么正弦穩(wěn)態(tài)響應(yīng)了.從圖上看出,時(shí)間大概過了5 s之后,該曲線基本上正弦規(guī)曲線,那么5 s之前的曲線為什么不是正弦曲線呢?
為了解釋這個(gè)現(xiàn)象,我們首先分析了由Matlab計(jì)算得到的電容電壓的表達(dá)式,發(fā)現(xiàn)該表達(dá)式是由兩個(gè)部分構(gòu)成,我們把這兩部分分別從表達(dá)式中截取后編程,其結(jié)果展示在一張圖上(圖6中的兩個(gè)虛線波形),通過上面技術(shù)上的處理后我們清楚地看到,實(shí)線的波形是兩個(gè)虛線波形的疊加,即一個(gè)按正弦規(guī)律變化的曲線(穩(wěn)態(tài)),另一個(gè)按指數(shù)規(guī)律遞減的曲線(瞬態(tài)),當(dāng)瞬態(tài)響應(yīng)消失之后(理論上消失它需要無限長時(shí)間,實(shí)際上瞬態(tài)響應(yīng)在極短的時(shí)間里消失完),剩下的只是穩(wěn)態(tài)響應(yīng),我們所說的正弦穩(wěn)態(tài)響應(yīng)就是這剩下的響應(yīng).如果不借助計(jì)算機(jī)的可視化功能,上面的現(xiàn)象在課堂上很難用語言來解釋清楚.
圖6 正弦穩(wěn)態(tài)響應(yīng)
【例4】圖7所示電路為RLC串聯(lián)諧振電路,畫出該諧振電路的頻率特性曲線.
圖7
解析:圖7所示電路的轉(zhuǎn)移電壓比為
根據(jù)以上表達(dá)式,編寫Matlab程序如下:
%求網(wǎng)絡(luò)函數(shù)的幅值,畫幅頻特性曲線
clear all;clc; figure(1)
w0=500; Q=[0.5 1 2];
w=1∶500000;
for i=1∶3
H=abs(1./(1+j*Q(i)*(w/w0-w0./w)));
if i==1
semilogx(w/w0,H,′k--′,′Linewidth′,2)
end
if i==2
semilogx(w/w0,H,′k′,′Linewidth′,2)
end
if i==3
semilogx(w/w0,H,′k:′,′Linewidth′,2)
end
xlabel(′omega/omega_c′)
ylabel(′|H(jomega)|′)
set(gca,′XTick′,[0.001 0.01 0.1 1 10 100 1000]);
set(gca,′YTick′,[0 0.5 0.707 1 ]);
axis([0 1000 0 1.05])
hold on
end
legend(′Q=0.5′,′Q=1′,′Q=2′);
%求網(wǎng)絡(luò)函數(shù)的相位角,畫出相頻特性
clear all;clc; figure(2) %lun7
w0=500;Q=[0.5 1 2];w=1∶500000;
for i=1∶3
Theta=angle(1./(1+j*Q(i)*(w/w0-w0./w)));%計(jì)算復(fù)數(shù)角度(弧度)
Theta=Theta*180/pi;%弧度變成角度
switch i
case 1
semilogx(w/w0,Theta,′k--′,′Linewidth′,2)
case 2
semilogx(w/w0,Theta,′k′,′Linewidth′,2)
case 3
semilogx(w/w0,Theta,′k:′,′Linewidth′,2)
end
xlabel(′omega/omega_c′)
ylabel(′ heta(omega)′)
set(gca,′XTick′,[0.01 0.1 1 10 100 1000 ]);
set(gca,′YTick′,[-90 0 90]);
axis([0 1000 -90 90])
hold on
end
legend(′Q=0.5′,′Q=1′,′Q=2′);
根據(jù)電路分析的理論知道,頻帶寬度與品質(zhì)因數(shù)Q成反比,Q越大,帶寬越窄,曲線越尖銳,對(duì)信號(hào)的選擇性越好,Matlab可視化得到的圖8(a)能生動(dòng)形象地展示這個(gè)現(xiàn)象.圖8(b)是相頻特性曲線,它表明電壓U1和U2之間的相位關(guān)系.
圖8
由于Matlab軟件有諸多突出的優(yōu)點(diǎn),大部分高等院校已經(jīng)把它列入課程計(jì)劃中,成為學(xué)生必須掌握的基本軟件之一.由于在電路分析中涉及大量的數(shù)學(xué)運(yùn)算問題,并且往往需要其抽象的計(jì)算結(jié)果用圖形來展示,而Matlab恰好具有這個(gè)功能,因此我們嘗試著把它引入到電路分析的教學(xué)中,經(jīng)過幾年的教學(xué)實(shí)踐表明,這種計(jì)算機(jī)輔助教學(xué)方式是可行的,取得了較顯著的教學(xué)效果,深受學(xué)生的喜愛,認(rèn)為計(jì)算機(jī)輔助教學(xué)方式可以在其他課程教學(xué)中去嘗試和推廣.
致謝:目前,西藏大學(xué)應(yīng)用物理專業(yè)和電子信息工程專業(yè)使用的電路分析課程教材是由胡翔駿編著的《電路分析》(第2版),因此文章中的實(shí)例均從該教材中改編而來,在此對(duì)該書作者表示感謝;同時(shí)也感謝匿名評(píng)審專家為本文提出的有益問題.
參考文獻(xiàn)
1 胡翔駿. 電路分析(第2版).北京: 高等教育出版,2007
2 曹戈.Matlab 教程及實(shí)訓(xùn). 北京: 機(jī)械工業(yè)出版社,2008
3 Desmond J.Higham,Nicholas J.Higham.MATLAB guide-2nded.USA:Societyfor Indus-trial and Applied Maathematics,2005
4 求是科技.Matlab7.0從入門到精通.北京:人民郵電出版社,2006