(河南理工大学 平煤工程技术学院,河南 平顶山 467003)
摘要:本文介绍了MATLAB软件在电路分析中的应用方法。以电路课程中的交直流电路中具体电路为例,利用MATLAB软件的矩阵运算、建立数学模型等方法来分析电路,为广大学者学习电路课程提供更多方法。
关键词:MATLAB;RLC;电路;基尔霍夫定律
电路分析计算的一个重要目的,就是根据电路的拓扑结构和元件数值求出电路分量——支路/元件的电压和电流、电阻/阻抗和功率等。
1.1直流电路分析
节点法其基本过程为:将已知量分别建立关联矩阵A,支路电压源列向量Us,支路电流源列向量Is,支路导纳矩阵Y。 将所求变量建立为:节点电压列向量Un,支路电流列向量Ib,支路电压列向量Ub。
由 KCL得A I b=0,由KVL得 U b=A' Un,由支路伏安方程得I b=Y(U b+ U s)-Is,将支路伏安方程代入 KCL得 AYU b + AYU s-AIs=0,将 KVL 代入可得 AYA’ Un=AIs-AYUs。
这样通过MATLAB计算,就可得到节点电压列向量Un,进而求得各支路的电压电流值。
例1.1 如图1所示,求各节点的电位。
图1 例1.1题图
解 根据基尔霍夫电流定律,并设流出节点的电流为正,可知:
在节点1,
即,
在节点2:
由于,
则:
即:
在节点3,
即:
在节点4,
以矩阵形式联立上述四式得到矩阵。
根据矩阵,在MATLAB运行下列程序:
% 设阻抗矩阵为Y,点流矢量为I,节点电位矢量为V
% YV=1
Y= [0.75 -0.2 0 -0.5;-5 1 -1 5;-0.2 0.45 0.1667 -0.06667;
0 0 0 1];
I=[5 ; 0;0 ;10 ];
fprintf(‘节点电压V1,V2,V3,V4为 n’)
V=inv(Y)*I;
该程序的运算结果为:节点电压V1,V2,V3,V4为
V=18.1104,17.9176,-22.6392,10.0000
1.2动态电路分析
对于动态电路,我们可以先建立其微分方程,然后直接通过MATLAB求解,并可作出其电路变量波形图。
ode是MATLAB专门用于解微分方程的功能函数。该求解器有变步长(variable-step)和定步长(fixed-step)两种类型。不同类型有着不同的求解器。ode45是解决数值解问题的首选方法,若长时间没结果,应该就是刚性的,可换用ode15。
例2.1 二阶动态电路如图9所示,已知电源us=10,R1=4Ω,R2=0.2Ω,C1=1F,L=1H,u(0-)=0,i(0-)=0,t=0时开关S闭合,试绘出电容电压uc的波形。
图2 例2.1题图
解 电路的状态方程表示如下:
应用MATLAB,在命令菜单中输入edit命令进入程序编辑器,编辑文件。电路的一阶微分方程组编写的MATLAB文件为
function yd=DYDt50(t, y)
U=10;
R1=4;
R2=0.2;
C=1;
L=1;
yd=[-(1/(R1*C))*y(1)-(1/C)*y(2)+(1/(R1*C))*U;(1/L)*y(1)-(R2/L)*y(2)];
tspan=[0,40];
y0=[0;0];
[t,YY]=ode45('DYDt50',tspan,y0);
plot(t,YY(:,1));
xlabel('t'),ylabel('uc')
调用solver解算函数指令的使用程序,可以得uc(t)的时域波形图如下:
图3 时域波形图
通过上述应用实例可看出,在直流电流中,运用逆矩阵运算求解是十分方便的。对于动态电路,利用常微分方程解算指令(solver),调用的M文件达到求解微分方程的目的,这些利用MATLAB辅助计算的方式大大提高了计算速度和准确性。
参考文献:
[1].邱关源. 电路[M]. 北京:高等教育出版社,2004.
[2].王忠礼,段慧峰,高玉峰. MATLAB应用技术:在电气工程与自动化专业中的应用[M]:清华大学出版社,2007.
[3].刘卫国,陈昭平,张颖. MATLAB程序设计与应用[M]. 北京: 高等教育出版社, 2002.
[4].鞠衍清. 基于MATLAB的电路暂态过程分析[J]. 广西 物理, 2005.