用MATLAB分析电阻电路
用MATLAB分析电阻电路
学院:物理电气信息学院
专业:通信工程
姓:繁荣的裙子
学号: 12010245242
喜欢的口红:汤全武
用MATLAB分析电阻电路
[摘要]在电路分析中,联立方程式的数量随着电路复杂性的增加而增加。 即使是比较简单的电阻电路,当电路复杂到一定程度后,无论是网格分析还是节点分析都会引入很多方程(组),手工求解非常繁琐,容易出错。 MATLAB具有较强的数学方程求解能力,尤其是对网格分析和节点分析所列举的线性方程,利用MATLAB求解具有优势。
[关键词]电阻电路; MATLAB
电阻电路分析
电阻电路:由电阻、控制源、独立源组成的电路称为电阻电路。
在MATLAB中,可以手工制作用Ax=B(A )表示的电路方程式。 (a是依赖于电路元件值的系数矩阵; x是由电路内几个电压和电流组成的列矢量; b是右端列向量,用与电压源电压和电流源电流相关的) MATLAB解线性代数方程式,指令为x=AB。
分析电路的基本依据是KVL和KCL,列方程的基本原则是利用节点(包括广义节点)、电路(包括假设电路)的相互约束关系,建立未知数最少、求解最容易的方程组。
例1 :如图所示, 寻求
解:将3个电路电流分别设为、
由此可以解开、 (当然,如果等效并联的控制电流源,就很容易返回。
的一般电路方程,左边用电路和无源元件表示,右边用电源表示。 在此分析的结果是,真正的未知数是电路2的电路电流和要求电压,整理原方程并建立矩阵
形式复用MATLAB将矩阵
写上Ax=B,命令和结果如下。
a=[5/6-10/3 0; 1/3-10/3 1]; b=[3/2-5-30/3; -30/3]; 求解x=aa%方程
执行结果为x=
5.4000
6.2000
例2 )如图所示,已知求出、分支电流I和分支电压u
解:设3个电路电流分别为、
补充方程式如下
这样可以解开、
将方程式整理如下
然后用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 ); x=ab%定义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=2; %已知条件
a=[G1 G3 CG1 CG3; g-G1 G1 G2 0; -g-G3 0 G3 G4]; 创建%系数矩阵
b=[is; 0; 0 ); 创建%系数矩阵
求出v=ab%节点电压
用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可以用程序求解电路问题,减少手工整理和运算的难度