利用MATLAB分析电阻电路.doc
时间:2022-09-05 20:30:00
利用MATLAB分析电阻电路
利用MATLAB分析电阻电路
学 院: 物理电气信息学院
专 业: 通信工程
姓 名: 顾 川
学 号: 12010245242
指导老师: 汤全武
利用MATLAB分析电阻电路
[摘要] 在电路分析中,随着电路复杂性的增加,联立方程的数量将越来越多。即使是相对简单的电阻电路,当电路复杂到一定程度时,也会引入大量的方程(组),手动解决极其复杂,容易出错。MATLAB具有较强的数学方程求解能力,特别是网络分析和节点分析列出的线性方程组MATLAB求解有得天独厚的优势。
[关键字]电阻电路;MATLAB
电阻电路分析
电阻电路:由电阻、受控源和独立源组成的电路称为电阻电路。
利用MATLAB,电路方程可电路方程,表示为Ax=B(A根据电路元件的值,系数矩阵;x由电路中的一些电压和电流组成的列向量;B它是右端的列向量,与电压源电压和电流源电流有关。MATLAB解决线性代数方程的指令是x=A\B。
电路分析的基本依据是KVL和KCL,列方程的基本原理是利用节点(包括广义节点)与电路(包括假设电路)之间的约束关系,建立最少未知和最容易解决的方程组。
例1:如图: ,,。求
解决方案:设置三个电路电流分别为,
这样就可以解释,,,,,(当然,如果并联控制电流源等效后更简单)。
一般电路方程,左边是电路和无源元件,右边是电源,经过分析,真正的未知数实际上是电路2的电路电流和所需的电压,所以原方程组写成矩阵
形式再利用MATLAB把矩阵
写成Ax=B,指令和结果如下:
a=[5/6-10/3 0;1/3-10/3 1];b=[3/2-5-30/3;-30/3]x=a\a%解方程组
运行结果如下:x =
5.4000
6.2000
例2:如图所示,已知,求支路电流I和支路电压U
解:分别设置三个电路电流,,
补充方程如下:
由此可以解决,,,。
将方程分类为:
然后用MATLAB计算如下:其中
a=[1 1 0 -1 0 0 1;0 1 1 -1 0 0 -1;0 0 1 0 0.5 0;1 0 -1 -1 0 0;-1 1 0 -0.5 0 0;0 1 -1 0 -1 0];%定义a矩阵
b=[14;0;0;0;0;0;0x=a\b%定义b矩阵并求解
运行结果如下:x =
1
3
-3
4
6
9
在上述例子中,使用的思想是找到未知量,使用分离变量的方法将未知量写在方程组的一侧,然后将方程组写成矩阵形式Ax=B,由未知量(后者列向量)组成的矩阵x=A\B。所以在MATLAB建立矩阵可以解决,节省计算时间,上述例子是手动进入数据分类方程组,但注意数据值实际上是相应的元件,所以您也可以使用符号表示方法简化方程组,编制M文件MATLAB带入数据进行操作.。
例3:如图所示, ,,,电压控制电流源的控制系数g=2s,编写节点方程,找出节点电压、电流和独立电流源的功率。
解决方案:设置,用节点电压表示,用方程变量表示受控源的控制电压, ,应用于独立点KCL,得到:
,
整理后得到:
用节点电压表示电流和电流源发出的功率:
M文件如下:
G1=1/1;G2=1/2;G3=1/3;G4=1/4;%求解电导
is=1;g=二、%已知条件
a=[G1 G3 ¨CG1 ¨CG3;g-G1 G1 G2 0;-g-G3 0 G3 G4];%建立系数矩阵
b=[is;0.0.
v=a\b求解节点电压
i3=G3*(v(1,1)-v(3)1)%求解电流
p=v(1,1)*is%求解功率
另外,注意中间过程不显示,中间运算指令以分号结束。
v(1,1)和v(1)等价;由于矩阵按列存放,所以v(3,1)也等效v(3)运行结果如下:
v =
1.5000
-1.0000
6.0000
i3 =
-1.5000
P =
1.5000
利用MATLAB编程可以解决电路问题,减少手工整理和操作的难度