MATLAB在电路分析中的应用

(整期优先)网络出版时间:2022-07-13
/ 1

MATLAB在电路分析中的应用

杨文杰

(河南理工大学 平煤工程技术学院,河南 平顶山 467003)

摘要:本文介绍了MATLAB软件在电路分析中的应用方法。以电路课程中的交直流电路中具体电路为例,利用MATLAB软件的矩阵运算、建立数学模型等方法来分析电路,为广大学者学习电路课程提供更多方法。

关键词:MATLAB;RLC;电路;基尔霍夫定律


  1. 应用实例

电路分析计算的一个重要目的,就是根据电路的拓扑结构和元件数值求出电路分量——支路/元件的电压和电流、电阻/阻抗和功率等。

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  时域波形图

  1. 总结

通过上述应用实例可看出,在直流电流中,运用逆矩阵运算求解是十分方便的。对于动态电路,利用常微分方程解算指令(solver),调用的M文件达到求解微分方程的目的,这些利用MATLAB辅助计算的方式大大提高了计算速度和准确性。

参考文献:

[1].邱关源. 电路[M]. 北京:高等教育出版社,2004.

[2].王忠礼,段慧峰,高玉峰. MATLAB应用技术:在电气工程与自动化专业中的应用[M]:清华大学出版社,2007.

[3].刘卫国,陈昭平,张颖. MATLAB程序设计与应用[M]. 北京: 高等教育出版社, 2002.

[4].鞠衍清. 基于MATLAB的电路暂态过程分析[J]. 广西 物理, 2005.