伴随网络法在线性动态电路分析中的应用_第1页
伴随网络法在线性动态电路分析中的应用_第2页
伴随网络法在线性动态电路分析中的应用_第3页
伴随网络法在线性动态电路分析中的应用_第4页
伴随网络法在线性动态电路分析中的应用_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本科毕业论文论文题目:伴随网络法在线性动态电路分析中的应用学生姓名: 所在院系: 机 电 学 院 所学专业: 应用电子技术教育 导师姓名: 完成时间: 摘 要在对线性动态电路进行分析时,我们通常采用经典法或者拉普拉斯变换法。前者主要适用于分析简单的一阶电路,而后者则更适合于分析复杂的高阶动态电路,但运算量较大。随着计算机技术的发展,matlab应运而生,在电路分析中发挥着日益重要的作用。本文以伴随网络法为基础,以matlab软件为平台,探索出一种对线性电路进行瞬态析的新方法。该方法从建立电路方程伊始,就设法避开微分方程,利用伴随网络法将动态电路的过渡过程划分为若干时间间隔t,将动态元件l, c

2、用相应的离散模型来取代,经过代换的电路称为原电路的伴随网络。对于每一个时间间隔t而言,在伴随网络中不含动态元件,因而可将瞬态电路的分析归结为一系列不同离散时刻下电阻网络的稳态分析。该分析方法简单方便,结果清晰直观。关键词:伴随网络,离散模型,改进结点法abstractin the analysis of linear dynamic circuits, we used the classical method or the laplace transform method. the former is mainly applied to analysis of a simple first-o

3、rder circuit, the latter is more suitable for analysis of complex high-dynamic circuit, but larger operations. with the development of computer technology, matlab came into being in the circuit analysis, and it is playing an increasingly important role.this paper, taking accompanying network as the

4、basis and the matlab software as platform, probes out one kind of new approach carrying out the transient analysis on linearity circuit. the new method is simple and convenient. complying with the building-up circuit equation beginning, it tries to avoid differential equation right away, and makes u

5、se of accompanying network following t transient process divided for some periods, and comes to substitute dynamic component l、c with corresponding discrete model, by that the substituting circuit is called the accompanying network. to every period t, there is no dynamic component in the accompanyin

6、g network, so the transient analysis of this linearity circuit can be divided into a series of steady state analysis of resistance network.key words:accompanying network, discrete model, improving node method目 录1.绪论12.电路的计算机辅助分析12.1计算机辅助分析软件的发展12.2 matlab简介23.线性电路瞬态分析的常用方法33.1经典法33.2 拉普拉斯变换法33.3 mat

7、lab符号运算34.改进结点分析法44.1 添加法44.2 添加法建立改进结点方程44.2.1 电阻支路54.2.2 独立电流源支路54.2.3 独立电压源支路64.2.4 电流控制电流源支路64.2.5 电压控制电流源支路74.2.6 电流控制电压源支路74.2.7 电压控制电压源支路85.伴随网络法95.1动态元件的离散模型95.1.1 电容c的伴随网络模型95.1.2电感l的伴随网络模型95.2伴随网络法分析瞬态电路的步骤106.伴随网络法的matlab编程实现106.1程序流程图106.2 主程序116.3算例分析116.3.1 输入参数116.3.2 输出波形图127.结论13致谢1

8、4参考文献15附录161.绪论对一个线性电路进行瞬态分析,我们最常用的方法是列写微分方程并求解,进而得出电感电流或者电容电压,然后再根据各支路间的约束关系进一步求得其它各支路的电压或电流。如果电路中只含有一个动态元件(电感或电容) ,则所列出的方程是一阶微分方程,其求解过程相对简单;但是随着电路规模的加大,微分方程的阶数以及联立方程的个数势必增多,给解算带来困难。有鉴于此,人们又考虑利用拉普拉斯变换把已知的时域函数变换为频域函数,从而把时域的微分方程化为频域的代数方程。求出频域函数后,再作拉普拉斯反变换,返回时域,从而求得满足电路初始条件的原微分方程的解,且不需要确定积分常数。但该方法同样也存

9、在运算量大的问题,尤其是对于含有多个动态元件的高阶复杂动态电路,计算得出的结果很不直观,无法清晰地看出在过渡过程中各变量随时间变化的规律。传统的计算机编程语言,如fortran、c语言等在处理高阶微分方程和大规模联立方程组问题时,大量的时间和精力都花在矩阵处理(如矩阵输入、求逆、稀疏矩阵处理等)和图形的生成分析等繁琐易错的细节上。而被誉为第四代计算机语言的matlab在矩阵处理和图形处理等方面有着得天独厚的优势。利用matlab的m文件来求解电路方程,只需一个或几个语句即可完成,同时matlab提供的simulink工具可直接建立电路模拟模型,随意改变模拟参数,并且立即可得到修改后的模拟结果(

10、scope显示),进一步省去了编程的步骤。鉴于上述原因,世界上众多的大学已把matlab引进教材。本文就是从这个意义上出发,探索出一种线性电路瞬态分析的新方法:伴随网络法,力求更加方便直观。2.电路的计算机辅助分析随着计算机技术的普及和快速发展,计算机辅助分析技术在工程技术领域的应用越来越广泛,为传统的电路分析分析与设计提供了新的手段。生产实际的发展和教学改革的需要,也促使原有的教学体系在内容和分析手段上必须进行相应的调整。因此计算机辅助分析这门课程应运而生。2.1计算机辅助分析软件的发展计算机辅助分析软件的功能日益强大,原理功能比较单一的软件,现在增加了很多新的功能。随着计算机技术的普及和发

11、展,计算机辅助分析软件主要经历了spber、orcad、pspice、protel、ewb、matlab。目前最具有通用性的电子、电气工程类的计算机辅助分析软件主要是pspice、matlab等软件。pspice可以进行各种各样的电路仿真、激励建立、温度与噪声分析、模糊控制、波形输出、数据输出,并在同一窗口内同时显示模拟与数字的仿真结果。无论对哪种器件、哪些电路进行仿真,都可以得到精确的仿真结果,并可以自行建立元器件及元器件库。2.2 matlab简介matlab是一种科学计算软件,在工程计算、理论分析、试验仿真等领域内发挥着巨大的作用。该软件是美国mathworks公司于1984年正式推出的

12、,2004年matlab已出现了7.0版本。随着版本的不断升级,其内容不断增加爱,工具箱不断完善,功能也更加强大。matlab是“矩阵实验室”(matrix laboratoy)的缩写,它是一种以矩阵运算为基础的交互式程序语言,广泛应用于工程计算及数值分析领域的新型高级语言,其顶尖的数值计算功能、强大的图形可视化功能、简介易学的便笺式的编程语言、可交互的集成环境,深受工程技术人员的欢迎。matlab的特点:1.数值计算功能在当前的科学计算中,几乎无处不用矩阵运算,而matlab具有丰富的矩阵运算函数和简单的指令格式。2.符号计算功能在实际应用中,除了数值计算外,还需要得到方程的解析解、简化和展

13、开多项式和函数表达式、求解函数值等,所有这些都属于符号计算的领域。利用符号计算功能,可以直接进行公式的推导,求出方程的解析表达式。3.便笺式的编程语言与fortran和c等高级语言相比,matlab的语法规则更简单,更贴近人的思维方式和表达习惯,使得编写程序就像在便笺上列公式和演算一样简单。4.强大而简易的作图功能能根据输入数据自动确定坐标绘图,可使用多种坐标系、能绘制三位坐标系的曲线、曲面和等高线,还可以绘制思维图形等。5.高智能化绘图时自动选择最佳坐标,大大方便了用户。作数值积分时按精确度要求自动选择积分步长。自动检测和显示程序错误,减轻编程和调试的工作量。6.丰富实用的工具箱matlab

14、软件包括基本部分和专业扩展部分。matlab的这些特点使它获得了对应用学科的极强适应能力,并很快成为应用学科计算机辅助分析、设计、数学,乃至科技文字处理不可缺少的基础软件。3.线性电路瞬态分析的常用方法目前国内外常用的动态电路分析方法主要有两种:经典法和拉氏变换法。前者主要适用于分析简单的一阶电路,而后者则更适合于分析复杂的高阶动态电路。随着计算机的快速发展,计算机辅助软件的不断更新,现在电路分析可以借助于计算机软件,比如pspice和matlab来进行分析和运算,从而大大减少了计算工作量。这两种电路分析软件各有优缺点:用pspice求解电路不需要列写电路方程组,只需画出电路仿真图形或写出ps

15、pice的input file,较为方便快捷,但其解是离散数据,图形输出光滑度较差; 而matlab 采用的是拉氏变换法,虽然速度较慢,但可以求得待求量的时域表达式,解是连续性的,故精度较高,图形光滑度好。可以充分发挥matlab强大的数据运算和处理能力以及完美的图形输出功能。3.1经典法对于一阶电路和二阶电路,所应用的方法是结合所给电路模型,根据电路定律和元件的电压、电流关系建立描述电路的方程,建立的方程是以时间为自变量的线性常微分方程,然后求解常微分方程即可得到电路变量在时域的解答,这种方法又称为经典法。3.2 拉普拉斯变换法对于具有多个动态元件的复杂电路,用直接求解微分方程的方法比较困难

16、。例如对于一个n阶方程,直接求解时需要知道变量及其各阶导数在t=0+时刻的值,而电路中给定的初始状态是各电容电压和电感电流在t=0+时刻的值,从这些值求得所需初始条件的工作量很大。于是人们通过拉氏变换,把已知的时域函数变换为频域函数,从而把时域的微分方程组化为频域的代数方程组,求解代数方程组得到频域解后再经拉普拉斯反变换,返回时域,可以得到满足电路初始条件的原微分方程组的解,而不需要确定积分常数。因此,拉普拉斯变换是求解高阶复杂动态电路的有效而重要的方法之一。3.3 matlab符号运算matlab符号运算法是在经典法和拉普拉斯变换法基础上发展起来的。matlab为求解常微分方程提供了一组配套

17、齐全,结构完整的指令。包括:常微分方程解算指令(solver),调用的ode文件格式指令(matlab中计算导数的m函数文件称为ode文件)。利用matlab指令具体求解动态电路的步骤是: (1)应用支路法或回路法等写出电路的微分方程组和相应的初始条件; (2)编写能计算导数的m函数文件,最简易的编写方法是把y,t作为输入变量; (3)将编写好的m函数文件(ode函数文件)和初始值供微分方程结算指令(solver)调用,运行程序后就可得到变量y及其导数在指定时间上的数值解。 这种方法应用matlab语言编程来对复杂电路进行分析和计算。不仅可以节约计算时间、方便地调试电路参数,而且还可以非常直观

18、地观察和测量电路中的电压、电流和功率等物理量。4.改进结点分析法结点电压法是分析、求解电路的最方便、最快捷的方法,它所涉及的变量少、方程数少。因而被广泛采用。但它仅限于网络中均为非零阻抗支路的情况,当遇到零阻抗支路时,通常采用改进结点电压法。4.1 添加法利用直接法建立网络方程,方程系数矩阵及右端项的元素并非整体形式。通常采用逐次扫描电路中的每一原件,分别添入他们对方程的贡献的方法。建立方程的开始,方程系数矩阵及右端项全为零元素所填充,扫描一个元件就将它对方程的贡献填入合适的位置,这样逐次扫描,逐次添加,直至网络中每一支路均被扫描,网络方程便建立起来。这种方法实质上是原件在方程中的贡献逐个添加

19、的方法,简称“添加法”。4.2 添加法建立改进结点方程为了方便灵活,我们将每一个二端原件作为一条支路,且规定支路电压和支路电流取关联参考方向。采用观察法导出每一类原件对网络方程的贡献,建立改进结点方程。(方程的阶数=独立结点数+困难支路数。)图1. 改进节点法矩阵方程在前n个方程中,对应关系为:ynun + bi = jn , 它对应于网络的几个独立结点,是每个结点的kcl方程。它表达了流出结点的电路之和等于注入该结点的电流。方程左边以流出结点电流为正,方程右边则以注入结点的电流为正。后m个方程为:cun + di = f,它对应于每一附加电流支路的元件约束关系,只有那些不具有导纳表达式的所谓

20、“困难”支路,才会对方程有此贡献。所以,为了导出每类元件对改进节点方程的贡献,只须列出该类支路的kcl方程以及(仅对“困难”支路)电压、电流的约束关系,就可确定这类元件对方程的贡献大小及其出现在方程中的具体位置。4.2.1 电阻支路电阻支路,如图2所示:图2. 电阻支路支路电流从i到j,i为始节点,j为终结点。若i,j都不是参考节点,则电阻r对方程的贡献在结点导纳阵yn中的具体位置及数值如下面矩阵所示:注意:自导纳为正,互导纳为负一般来说,每个导纳元件对方程系数矩阵中的结点导纳阵yn有4个贡献,主对角线上的贡献为导纳值,副对角线上的贡献为负的导纳值。如果i(或者j)为参考结点,则应除去i(或者

21、j)行及列的相应贡献。电感,电容以及压控非线性电阻对方程的贡献也具有类似的形式。4.2.2 独立电流源支路独立电流源支路,如图3所示:图3. 独立电流源支路 电流源is对方程右端项jn部分有贡献,其贡献如下面矩阵所示:注意:取电流流出为正,流入为负4.2.3 独立电压源支路独立电压源支路,如图4所示:图4. 独立电压源支路 独立电压源支路属于不具备导纳表达式的所谓“困难”支路,需要增加辅助方程,如下面方程所示: 电压源支路对方程的贡献如下面矩阵所示:4.2.4 电流控制电流源支路电流控制电流源支路,如图5所示:图5. 电流控制电流源支路其特性方程为:由于受控源为二端口元件,要涉及到4个结点,其

22、对方程的贡献如下面矩阵所示:4.2.5 电压控制电流源支路电压控制电流源支路,如图6所示图6. 电压控制电流源支路其特性方程为: 电压控制电流源支路对方程的贡献如下面矩阵所示:4.2.6 电流控制电压源支路 电流控制电压源支路,如图7所示:图7. 电流控制电压源支路其特性方程为:整理后得:电流控制电压源支路对方程的贡献如下面矩阵所示:4.2.7 电压控制电压源支路 电压控制电压源支路,如图8所示:图8. 电压控制电压源支路其特性方程为整理后得:电压控制电压源支路对方程的贡献如下面矩阵所示:选电路的结点电压和理想电压源电流、受控电压源支路的电流为网络变量,列出电路的混合方程。适用于含有理想独立电

23、压源、受控源的电路分析。(1) 改进结点方程中,未知量为结点电压,理想电压源支路电流、受控电压源支路电流。它适合于包含理想电压源、四种受控源元件的电路。(2) 改进结点法中,只有导纳、阻抗支路才采用“组合支路”,其它支路均采用单元件支路。(3) 改进结点方程的结点导纳阵yn由导纳(阻抗)支路,vccs支路和cccs支路决定,其它支路对它无影响。5.伴随网络法伴随网络法从建立电路方程开始,就设法避开微分方程。它把动态电路的过渡过程时间t0 t划分成若干时间间隔t,把动态元件电感l和电容c用相应的离散模型来取代,经过代换后的电路称为原电路的伴随网络。对于每一个时间间隔t而言,在伴随网络中,不再含有

24、动态元件,取而代之的是动态元件l, c的离散模型,因而对该时间间隔下相应伴随网络的分析可视为稳态电路分析。也就是说,通过伴随网络法,可以将瞬态电路分析归结为一系列不同离散时刻下电阻网络的稳态分析。5.1动态元件的离散模型5.1.1 电容c的伴随网络模型图9. 电容c及其伴随网络模型如图9所示,图中左边电容c的电压u(t)与电流i(t)为关联参考方向,则:i(t)=cdu(t)/dt (1)在某一离散时刻tn+1,in+1=cun+1 (2)我们采用梯形积分公式:un+1=un+(un+un+1)h/2 (3)故而由式(2)、(3)可得:in+1=un+12c/h-(un2c/h+in) (4)

25、由此得出图9中右边所示电容的伴随网络模型,该离散模型是由一个电导和一个电流源并联而成。电导g的取值为2c/h,电流源的取值为(2c/h)un+in,其中参数c为电容值(法拉),h为划分后的时间间隔t(秒)。5.1.2电感l的伴随网络模型图10. 电感l及其伴随网络模型如图10所示,图中左边电容l的电压u(t)与电流i(t)为关联参考方向,则:u(t)=ldi(t)/dt (5)在某一离散时刻tn+1, un+1=lin+1 (6)我们再次采用梯形积分公式:in+1=in+(in+in+1)h/2 (7)故而由式(6)、(7)可得:in+1=un+1h/2l+(unh/2l+in) (8)由此得

26、出图10中右边所示电感的伴随网络模型,该离散模型同样是由一个电导和一个电流源并联而成。电导g的取值为h/2l,电流源的取值为(h/2l)un+in,其中参数l为电感值(亨利),h为划分后的时间间隔t(秒)。5.2伴随网络法分析瞬态电路的步骤(1)根据所给电路的网络数据,对初始状态进行分析;(2)根据网络结构预估过渡过程时间t,并将t0t划分(通常可等分)为若干时间间隔t=h,取时间步长为h,形成t1=h时的伴随网络,计算出t1时刻的网络响应;(3)根据上一时刻计算出的结果,修正伴随网络的参数,从而获得下一时刻的伴随网络;(4)利用步骤(3)形成的伴随网络,建立电路方程并求解,得出该时刻的响应;

27、(5)如果t2t,分析结束,输出结果;否则增加时间步长h,转向步骤(3) 。6.伴随网络法的matlab编程实现本文采用的是目前电路分析领域使用较多的软件matlab,该软件具有强大的数学运算功能和图形处理能力,其数据处理十分有效、精细,运行速度较快,且数据格式兼容性较好,便于数据的后处理与分析。6.1程序流程图程序流程图见附录16.2 主程序matlab源程序见附录26.3算例分析有一线性网络如图11所示,如果电容元件的初始值为uc (0 + ) = 0v,电感元件的初始值为il (0+ )= 0a,r1 = r2 = r3 = 2, gm = 1s,l = 1h,c = 2f。开关k在t

28、= 0时刻闭合,且k闭合前电路已处于稳态。求:t0时各支路的电压和电流。图11. 算例电路图6.3.1 输入参数 从网络结构我们可以看出,该电路共有5个结点, 7个支路(每个元件均算作一个支路) 。其中包含3个电阻, 1个独立电压源, 1个受控电流源,另外还有两个动态元件电容c和电感l。运行程序后,屏幕提示信息如下:请输入电路规模请输入待求网络的结点数: 5n = 5请输入待求网络的支路数: 7b = 7请输入待求网络的动态元件数: 2q = 2请输入过渡过程的时间(单位:秒) : 15t = 15请输入第1支路的始结点,终结点,元件类型,参数1,参数2,控制支路始结点,终结点(没有则置零)

29、:- 1, 2, r, 2, 0, 0, 0请输入第2支路的始结点,终结点,元件类型,参数1,参数2,控制支路始结点,终结点(没有则置零) :- 2, 3, r, 2, 0, 0, 0请输入第3支路的始结点,终结点,元件类型,参数1,参数2,控制支路始结点,终结点(没有则置零) :- 3, 0, r, 2, 0, 0, 0请输入第4支路的始结点,终结点,元件类型,参数1,参数2,控制支路始结点,终结点(没有则置零) :- 1, 0, e, 5, 0, 0, 0请输入第5支路的始结点,终结点,元件类型,参数1,参数2,控制支路始结点,终结点(没有则置零) :- 2, 0, vccs, 1, 0,

30、 2, 3请输入第6支路的始结点,终结点,元件类型,参数1,参数2,控制支路始结点,终结点(没有则置零) :- 4, 0, c, 2, 0, 0, 0请输入第7支路的始结点,终结点,元件类型,参数1,参数2,控制支路始结点,终结点(没有则置零) :- 3, 4, l, 1, 0, 0, 0当所有支路元件信息均输入后,程序开始进入循环,并给出各时间间隔内所对应的结点电压和困难支路电流,最后,程序会提示用户:“请输入待分析的支路编号:”,这里我们输入的编号是6。6.3.2 输出波形图 我们以支路编号为6的电容元件c所在支路为例(其余各支路电压和电流波形的求取方法与本例完全一样) ,则运行程序后给出

31、的该支路电压和电流的波形图如图12所示:图12. 输出电压和电流波形7.结论相对于其它动态电路的瞬态分析方法而言,伴随网络法方便直观,并且程序独到的编写使得网络拓扑可以由使用者自行输入,因此也具有较好的灵活性。电路元件涵盖了电路分析中常见的电阻(导) ,独立电压源,独立电流源,四种受控源,电感和电容等元件,过渡过程的时间以及采样间隔亦由使用者自行定义,并且可以由使用者选择需要分析的支路进而输出该支路的压、电流波形,波形显示清晰直观。在程序调试过程中,可以根据所选电路的网络结构预先估计一下过渡过程的时间和对应的采样间隔,选取几组不同的值试运行一下,从中挑出最优解。当然设计中也存在着一些不足和需要

32、进一步完善的地方,比如:支路元件中没有考虑到耦合电感元件,所采用的激励源均为直流电源等。今后可考虑将交流电源也添加进来,再加入耦合电感,这样的话该设计就将更加完美。致谢本论文的完成是在导师的精心指导和帮助下完成的,在将近半年的时间里,老师在我对课题的学习和研究以及学习和生活方面都给与了无微不至的帮助和关心。导师渊博的学识,敏锐的科学洞察力,严谨的治学态度,强烈的创新思想和对科研教育事业的执著追求都给我留下难忘的印象,并将激励我在今后的工作中勇敢地面对困难和挑战。在论文完成过程中,参考和吸收了许多前人的研究成果,在此一并向他们表示感谢。在我做毕业设计期间,得到了许多老师的关心和支持,是他们无私的

33、爱才使我能够在学习上不断进取,同时也要感谢我的同学们,在他们的热情的帮助下我才能更好的完成毕业设计。最后,我要感谢担任我论文评审和评阅的各位老师,谢谢他们提出的宝贵意见和建议。参考文献1邱关源.电路(第四版) m.北京:高等教育出版社,2003:289-290.2童梅.电路的计算机辅助分析-pspice和matlabm.北京:机械工业出版社, 2005: 7-8.3程少庚,崔杜武,刘小河. 电网络分析m. 西安:西安理工大学出版社, 2003: 65-68.4楼顺天,陈生潭,雷虎民.matlab 5.x程序设计语言m.西安:西安电子科技大学出版社, 2000:1165李培芳,孙盾,李玉玲,李军

34、.电路学习辅导与题解m.北京:清华大学出版社, 2006:77-78.6黄忠霖.控制系统matlab计算及仿真m.北京:国防工业出版社,20067张永瑞.电路基础教程m.北京:科学出版社,20058邹玲.电路理论m.武汉:华中科技大学出版社,20069戚新波,刘宏飞,郑先锋.电路的计算机辅助分析matlab与pspice应用技术m.北京:电子工业出版社,2006(5) 10游磊,梁颖. matlab与pspice在电路分析中的应用. 成都航空职业技术学院学报j. 2004 (3) 11沈宏,杨宾峰.伴随网络法在线性电路瞬态分析中的应用.河南科技学院学报j.2008(6)12刘蕴,基于matal

35、b电路辅助分析.电气电子教学学报.j.2005(8)13游磊,梁颖,宁元中.matlab与pspice在电路分析中的应用.程度航空职业技术学院学报j.2004(9)附录1.主程序流程图2.matlab源程序%*用伴随网络法(梯形公式)对线性电路进行瞬态分析*%clc %清除命令窗口,并使光标返回clear %清除工作空间的变量%*原始数据的输入和数据库的建立(各支路电压和电流均取关联参考方向)*%输入格式:支路的始节点,终节点,元件类型,参数1,参数2,控制支路始节点,终节点回车disp(请输入电路规模 );disp()n=input(请输入待求网络的节点数:)b=input(请输入待求网络的

36、支路数:)q=input(请输入待求网络的动态元件数:)t=input(请输入过渡过程的时间(单位:秒):)e_net=cell(b,7); %建立单元阵列%输入时先输入非动态元件所在支路参数,然后再输入电容和电感所在支路参数%输入顺序为:电阻(导),电压源,电流源,cccs,vccs,vcvs,ccvs,然后是电容和电感c=请输入第;d=支路的始节点,终节点,元件类型,参数1,参数2,控制支路始节点,终节点(没有则置零):;for i=1:bdisp(c,num2str(i),d);e_net(i,:)=input(-);endfs=out;in;st;vl;vl0;c_out;c_in;d

37、atabase=cell2struct(e_net,fs,2); %将单元阵列转换为结构阵列并建立支路元件数据库%*用改进节点法建立待求网络方程*%y=zeros(n-1,n-1);v=zeros(n-1,1);y1=zeros(n-1,n-1);v1=zeros(n-1,1);q=zeros(n-1,1);%*首先添加非动态元件的贡献进入节点电压方程*%for i=1:b-q k=database(i).out; l=database(i).in; v=database(i).vl; g=database(i).c_out; h=database(i).c_in; sdim=size(y,1

38、); switch database(i).st case r %电阻(导)元件所在支路对伴随网络方程的贡献 if l=0 y(k,k)=y(k,k)+1/v; else y(k,k)=y(k,k)+1/v; y(l,l)=y(l,l)+1/v; y(k,l)=y(k,l)-1/v; y(l,k)=y(l,k)-1/v; end case e %独立电压源所在支路对伴随网络方程的贡献 y(k,sdim+1)=1; y(sdim+1,k)=1; v(sdim+1,1)=v; if l=0 y(l,sdim+1)=-1; y(sdim+1,l)=-1; end case i %独立电流源所在支路对

39、伴随网络方程的贡献 v(k,1)=v(k,1)-v; if l=0 v(l,1)=v(l,1)+v; end case cccs %流控流源所在支路对伴随网络方程的贡献 y(k,sdim+1)=v; y(g,sdim+1)=1; y(sdim+1,g)=1; if h=0 y(sdim+1,h)=-1; y(h,sdim+1)=-1; end if l=0 y(l,sdim+1)=-v; end case vccs %压控流源所在支路对伴随网络方程的贡献 y(k,g)=y(k,g)+v; if h=0 y(k,h)=y(k,h)-v; end if l=0 y(l,g)=y(l,g)-v; e

40、nd if (l=0 & h=0) y(l,h)=y(l,h)+v; end case vcvs %压控压源所在支路对伴随网络方程的贡献 y(k,sdim+1)=1; y(sdim+1,k)=-1; y(sdim+1,g)=v; if h=0 y(sdim+1,h)=-v; end if l=0 y(l,sdim+1)=-1; y(sdim+1,l)=1; end case ccvs %流控压源所在支路对伴随网络方程的贡献 y(k,sdim+2)=1; y(sdim+2,k)=1; y(g,sdim+1)=1; y(sdim+1,g)=1; y(sdim+2,sdim+1)=-v; if h=

41、0 y(h,sdim+1)=-1; y(sdim+1,h)=-1; end if l=0 y(l,sdim+2)=-1; y(sdim+2,l)=-1; end end endsdim1=size(y,1);sdim2=size(v,1);if sdim2 p v1 = q;end for j=b-q+1:b %将动态元件的贡献添入伴随网络方程,并开始循环 k=database(j).out; l=database(j).in; v1=database(j).vl; v2=database(j).vl0; g=database(j).c_out; h=database(j).c_in; sdi

42、my=size(y,1); switch database(j).st case c %电容所在支路对伴随网络方程的贡献 if (t=0 & l=0) y(k,sdimy+1)=1; y(l,sdimy+1)=-1; y(sdimy+1,k)=1; y(sdimy+1,l)=-1; v(sdimy+1,1)=v2; elseif (t=0 & l=0) y(k,sdimy+1)=1; y(sdimy+1,k)=1; v(sdimy+1,1)=v2; elseif (t=p & l=0) v2=(2*v1/p)*b(1,j)+b(2,j); y1(k,k)=y1(k,k)+2*v1/p; y1(

43、l,l)=y1(l,l)+2*v1/p; y1(k,l)=y1(k,l)-2*v1/p; y1(l,k)=y1(l,k)-2*v1/p; v1(k,1)=v1(k,1)+v2; v1(l,1)=v1(l,1)-v2; elseif (t=p & l=0) v2=(2*v1/p)*b(1,j)+b(2,j); y1(k,k)=y1(k,k)+2*v1/p; v1(k,1)=v1(k,1)+v2; elseif (tp & l=0) v2=(2*v1/p)*b(1,j)+b(2,j); v1(k,1)=v1(k,1)+v2; v1(l,1)=v1(l,1)-v2; else v2=(2*v1/p)

44、*b(1,j)+b(2,j); v1(k,1)=v1(k,1)+v2; end case l %电感所在支路对伴随网络方程的贡献 if (t=0 & l=0) v(k,1)=v(k,1)-v2; v(l,1)=v(l,1)+v2; elseif (t=0 & l=0) v(k,1)=v(k,1)-v2; elseif (t=p & l=0) v2=(p/(2*v1)*b(1,j)+b(2,j); y1(k,k)=y1(k,k)+p/(2*v1); y1(l,l)=y1(l,l)+p/(2*v1); y1(k,l)=y1(k,l)-p/(2*v1); y1(l,k)=y1(l,k)-p/(2*v1); v1(k,1)=v1(k,1)-v2; v1(l,1)=v1(l,1)+v2; elseif (t=p & l=0) v2=(p/(2*v1)*b(1,j)+b(2,j); y1(k,k)=y1(k,k)+p/(2*v1); v1(k,1)=v1(k,1)-v2; elseif (tp & l=0) v2=(p/(2*v1)*b(1,j)+b(2,j); v1(k,1)=v1(k,1)-v2; v1(l,1)=v1(l,1)+v2; else v2=(p/(2*

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论