用matlab求电路节点方程的的矩阵形式。
课程:matlab 在电气工程中的应用。
专业:电气工程及其自动化。
班级:电气---班。
年级:2013级。
小组成员:摘要:本文根据节点法应用的特点,给出了节点法在正弦稳态电路和线性暂态电路的应用的两个实例,并用应用软件matlab方便地解决了电路方程的求解问题。
关键词:节点法、节点方程、matlab。
一、节点法之应用。
所谓电路分析,实际上是已知电路拓扑结构和元件参数,求支路电压和支路电流的问题。由电路的基本定理—基尔霍夫电压定理和基尔霍夫电流定理,我们可以推出以支路电流为变量的支路电流法,以节点电压为变量的节点分析法,以网孔电流为变量的网孔分析法,以回路电流为变量的回路分析法,以割集电压为变量的割集分析法等。各种方法各有特点,支路电流法为最一般的方法,有几条支路就有几个方程,电路越复杂,支路越多,方程数越多,而节点分析法和网孔分析法是分别以节点数和网孔数来决定方程数的,因此相对来讲它们的方程数要少些。
教学上经常遇到一些复杂电路,它们的节点数一般少于网孔数,这时用节点分析法方程数较少,因此我们常用此方法。
若一个电路有n个节点,取其中一个节点为参考节点,以另外n一1个节点电压为变量,对这n-1个节点列基尔霍夫电流定理方程式,就可得到n一1个独立的以节点电压为变量的方程式,解这个方程组,即可求得节点电压的值。这便是节点分析法的基本思想。通过分析总可以得到n一1个节点电压方程,而要解这个多元一次方程组,当n}4时,若人工计算,我们会感到困难,特别地,当我们用相量法求解正弦稳态电路,或是用运算法求解暂态电路时,由于有复数或是有复频率s的存在,求解多元一次方程组将变得复杂得多。
笔者尝试利用科技应用软件matlab来解决这个间题,取得意想不到的成功,觉得非常便捷实用。下面从两个实例出发说明节点分析法的应用及利用matlab求解。当然其它分析方法也可以利用matlab求解。
二、应用节点法分析正弦稳态电路,利用matlab的数值计算功能求解。
对于正弦稳态电路,可用相量法将电路中的三角函数运算转换为复数运算,此时基尔霍夫电压定理和基尔霍夫电流定理仍然成立,节点分析法等方法依然适用,复杂的复数矩阵运算可利用matlab编程完成。数值计算指表达式或矩阵变量中不允许包含未定义的自由变量,而符号计算则允许。matlab是以矩阵(或称数组)为运算“单元”的,在数值计算中,运算“单元”定义在复数域上,因此用matlab进行复数矩阵运算求解方程非常方便。
例题如图所示,电路图有向图。
1、求关联矩阵a
2.列出支路方程,求支路导纳矩阵yb,电流源向量is,电压源向量us就可以求出支路方程的矩阵形式为:
计算节点导纳矩阵:
3.计算节点电流源相量:
in=ayb(s)us(s)-ais
4.列出节点方程:
5.计算节点电压:
6.求支路电压:
7.求支路电流:
上述步骤由matlab编程算得。
程序及运行结果如下:
1)程序:a=[1,-1,1,0,0,0;0,0,-1,1,1,0;-1,0,0,0,-1,1]
y=[2,2,1,4,1,2]
us=[-2;0;0;0;0;0]
is=[-2;0;0;0;0;0]
yb=diag ( y )
yn=a*yb*a'
in=a*yb*us-a*is
un=inv(yn)*in
ub=a'*un
ib=yb*ub-yb*us+is
运行得:a =
y =us =
is =
yb =
yn =
in =
un =
ub =
ib =
从上我们可以看到,利用matlab计算机能快捷地完成复杂的复数运算,使节点法的应用有了可靠的计算保证。对于某一电路,我们只要求出它的降阶关联矩阵a,支路导纳矩阵yb,电流源相量is,计算机可以很方便地为我们求出各节点电压、支路电压、支路电流。
三、结论。综上所述,节点分析法在解决某一类问题时不失为一种既一般而又相对比较简便的方法,因此是一种常用的方法。通过计算机,通过使用matlab软件,我们可以方便地求解电路方程,不论是进行复数运算还是进行带复频率s的符号运算。
参考文件。1j张志涌,刘瑞祯,杨祖樱编著。掌握和精通matlab[ m].北京:北京航空航天大学出版社,1997;上海第二工业大学学报2023年第二期。
matlab大作业
matlab语言及应用。周一晚作业廖育州07010559 第一组程序。绘制选用潍柴发动机wd615.50时汽车行驶性能曲线图,ft ua图clear,clc 清除内存变量,清屏 n为发动机的转速。n 1000,1100,1200,1300,1400,1500,1600,1700,1800,1900,...
MATLAB大作业
实验七图像的形态 算。一 实验目的。1.掌握图像的奇异值分解与合成。2.能够利用模板操作实现图像的腐蚀运算3.能够利用模板操作实现图像的膨胀运算4.掌握图像的开 闭运算。二 实验内容。1.读下面的程序,分析该程序要完成什么样的功能。a 1 2 1 2 3 2 1 2 1 u d v svd a nx...
MATLAB大作业
1.设计一个程序,要求用户用键盘输入10次,输入内容可以是数字 英文 汉字 或者其他文字或者符号。如果输入的是数字,则把存入一个数字数组当中 如果输入的是英文的字符,则存入一个英文字符数组当中 如果是其他字符,则存入一个字符串数组中。当10次内容都输入完毕后,先输出英文数组中的内容,然后输出字符串数...