首页 > 范文大全 > 正文

Matlab在电路分析教学中的应用

开篇:润墨网以专业的文秘视角,为您筛选了一篇Matlab在电路分析教学中的应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:本文通过具体电路,分析了使用matlab语言对稳态电路和动态电路进行计算的方法,并进行了说明。为电路分析课程的教学提供了一些做法和经验。

关键词:电路分析;仿真;Matlab

中图分类号:TN702文献标识码:A 文章编号:1009-3044(2008)31-1020-03

The Application of Matlab in the Teaching of "Circuit Analysis"

CHEN Qi-wei1, LI Ju2

(1.Physics and Electronic Engineering School, Changshu Institute of Technology, Changshu 215500, China; 2.School of Computer Science and Engineering, Changshu Institute of Technology, Changshu 215500, China)

Abstract: In this paper, some applications in circuit analysis and calculation by means of Matlab are introduced. At the same time, the examples of stable circuit and transient circuit are presented to demonstrate this application further. Some experiences drawn from above application can be as a reference for the teaching of "Circuit Analysis".

Key words: Circuit Analysis; Simulation; Matlab

1 引言

“电路分析”是电子信息与电气类本科专业的一门重要的专业基础课。在实际的教学过程中,经常面对分析复杂电路和绘制电路变量变化曲线。手工进行这类工作时,往往需要大量的时间精力,而且也很难精确的画出曲线。

Matlab作为电子信息工程领域中应用较为广泛的一种仿真语言,引入到电路分析教学后,其强大的矩阵运算功能、对数据的可视化处理,以及编程简捷、学生易于掌握的特点,可很好的解决上述问题,大大提高课堂教学效率和学生的学习兴趣。

本文对几个典型例题进行分析,探索Matlab在电路分析教学中的应用

2 Matlab在稳态电路中的应用

2.1 简单电路

对于简单电路,可通过观察法列出其阻抗和输入、输出变量矩阵。直接在Matlab中进行运算就能得到结果。

例1 求图1所示电路中的电压U和电流I。

图1 图2

求解此题时,先选定网孔电流I1、I2、I3(如图2所示)。

列网孔方程:

列辅助方程:

将上述方程组用矩阵形式表示,可得:

AX=B

其中:

将上述矩阵用Matlab编程如下:

A=[34 -4 -10 0 0; -4 10 -5 0 0; -10 -5 15 -1 0;1 0 0 0 -1;0 0 1 0 0.1];

B=[0 -420 0 0 0]';

X=A\B

程序结果为:

X =

-5.0000

-43.7500

0.5000

276.2500

-5.0000

即:电压U=276.25V,电流I=-5A。

2.2 大规模电路

随着电路规模的日益扩大,需要有系统化的建立电路的方法。在实际的大规模复杂电路中,独立的节点数往往少于独立回路数,所以节点法在大规模电路中得到广泛的采用。

其基本过程为:将已知量分别建立关联矩阵A,支路电压源列向量Us,支路电流源列向量Is,支路导纳矩阵Y。将所求变量建立为:节点电压列向量Un,支路电流列向量Ib,支路电压列向量Ub。

由 KCL, AIb=0 (1)

由KVL, Ub=A' Un(2)

支路伏安方程: Ib=Y(Ub+Us)-Is (3)

将支路伏安方程代入KCL,得 AYUb+AYUs-AIs=0(4)

将KVL代入可得 AYA’Un=AIs-AYUs (5)

这样通过Matlab计算,就可得到节点电压列向量Un,进而求得各支路的电压电流值。

例2 求图3所示电路的各支路电流。

图3 图4

建立有向拓扑图(如图4所示),以节点4为参考节点。则关联矩阵

支路电压源列向量①②③④ Us=[0 20 0 0 0 0 ]'

支路电流源列向量 Is=[-2.5 2 0 0 0 0 ]'

支路导纳矩阵

将上述矩阵按式(5)进行Matlab编程如下:

A=[-1 0 0 1 1 0; 0 -1 0 0 -1 1; 0 0 1 -1 0 -1];

Us=[0 20 0 0 0 0]';

s=[-2.5 0 2 0 0 0]';

Y=diag([1/20, 1/10, 1/5, 1/50, 1/10, 1/40]);

Un=(A*Y*A')\(A*Is-A*Y*Us)

得到:

Un =

30.2264

23.7736

13.0566

再代入式(2),由程序Ub=A'*Un得到各支路电压值:

Ub =

-30.2264

-23.7736

13.0566

17.1698

6.4528

10.7170

代入式(1),程序为Ib=Y*(Ub+Us)-Is,得到各支路电流值:

Ib =

0.9887

-0.3774

0.6113

0.3434

0.6453

0.2679

从以上程序可看出,Matlab语言很好的和电路分析过程对应了起来,方便的求得了各条支路的电流电压值。学生解题时就不必纠缠在繁琐的笔算或编程上,可集中精力于电路的分析和理解。

3 Matlab在动态电路中的应用

对于动态电路,我们可以先建立其微分方程,然后直接通过Matlab求解,并可作出其电路变量波形图。

例3 求图5所示电路中,Us=10V,Is=2A,R=2Ω,L=4H。试求S闭合后电路中的电流iL。

由电路图可得到微分方程为: ■

代入数值,得: ■

其零输入响应iLzi满足: ■

其零状态响应iLzs满足: ■

在Matlab中可采用dsolve函数求解,其程序为:

iL=dsolve('4*DiL+2*(2+iL)=10','iL(0)=-2')

izi=dsolve('4*Dizi+2*(2+izi)=10','izi(0)=0')

izs=dsolve('4*Dizs+2*izs=0','izs(0)=-2')

分别得到全响应、零输入响应、零状态响应的表达式为:

iL =3-5*exp(-1/2*t)

izi =3-3*exp(-1/2*t)

izs =-2*exp(-1/2*t)

采用plot命令作图,可得其全响应、零输入响应、零状态响应的曲线图,如图6所示。在课堂教学时,采用Matlab作图,其绘图速度和图形精确性均比手工绘制效果好。

4 结束语

上面,我们通过几个具体的电路,对Matlab在稳态电路和动态电路中的具体应用进行了分析。从中我们可以看出,Matlab可使师生从复杂的数学计算中解脱出来,同时也使教学过程形象生动,为电路分析的教学提供了有力的工具。

参考文献:

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

[2] 张志涌. Matlab教程[M]. 北京:北京航空航天大学出版社,2004.