伴随网络法在线性电路中的应用毕业论文

上传人:1888****888 文档编号:38887474 上传时间:2021-11-09 格式:DOC 页数:34 大小:322.51KB
收藏 版权申诉 举报 下载
伴随网络法在线性电路中的应用毕业论文_第1页
第1页 / 共34页
伴随网络法在线性电路中的应用毕业论文_第2页
第2页 / 共34页
伴随网络法在线性电路中的应用毕业论文_第3页
第3页 / 共34页
资源描述:

《伴随网络法在线性电路中的应用毕业论文》由会员分享,可在线阅读,更多相关《伴随网络法在线性电路中的应用毕业论文(34页珍藏版)》请在装配图网上搜索。

1、河南科技学院河南科技学院 2013 届本科届本科毕业论毕业论文(文(设计设计) )论论文文题题目:伴随网目:伴随网络络法在法在线线性性动态电动态电路分析路分析中的中的应应用用学生姓名:学生姓名: 崔朋崔朋辉辉所在院系:所在院系: 机机电电学院学院所学所学专业专业: : 应应用用电电子技子技术术教育教育导师导师姓名:姓名: 沈沈 宏宏完成完成时间时间: :2013 年年 5 月月 25 日日摘摘 要要在电路分析中,对线性动态电路的分析方法一般是经典法和拉普拉斯变换法。不过对于较高阶的动态电路,用这些方法就会比较繁琐。而本文设计了一种新的方法-伴随网络法。这种方法是把动态电路的过渡过程时间t0T划

2、分成若干时间间隔t,把动态元件电感L和电容C用相应的离散模型来取代,经过代换后的电路称为原电路的伴随网络。因而对该时间间隔内相应伴随网络的分析可视为稳态电路分析。不过这种方法需要多次重复计算,若由人来计算就会相当的复杂。所以我们利用MATLAB软件来进行编程,把计算工作交给计算机。这样就可以方便快捷地算出结果。为了使软件的界面更加友好,我们利用MATLAB自带的GUI工具做了一个图形用户界面。用户只需要按照界面的要求进行元件参数和支路编号的输入,运行后即可在屏幕上显示GUI界面下的输出电压波形和电流波形。关关键词键词: :伴随网络,图形用户界面,离散模型AbstractGenerally, t

3、he method of the linear dynamic circuit analysis is the Classic and Laplace transform method in circuit analysis. But these methods will be complex to the high-level linear dynamic circuit. In this article we design a new method-accompanying network method. This method divided the time (t0T) of tran

4、sitional process of dynamic circuit into a number of intervals t, The dynamic component inductance L and capacitance C with the corresponding discrete model to replace, after substitution of the circuit, the original circuit is called accompanying network. So the analysis of accompanying network cou

5、ld be deemed as steady-state analysis. However, the times of calculation are so many. It will be too complex to calculate it by people. Therefore, we use MATLAB to program. By doing this, it will be convenient to obtain the results. At the same time, in order to get a more friendly interface, I also

6、 use the tools (GUI) of MATLAB made a graphical user interface. The user only needs to input the parameter of the components and the number of branches according to the requirement of the interface. After the running, it could output the voltage and current waveforms on the GUI interface.Key words:A

7、ccompanying Network, Graphic User Interface, Discrete Model目 录1 绪论.12 线性动态电路分析的常用方法.22.1 经典法.22.2 拉普拉斯变换法.23 电路的计算机辅助软件.23.1 电路的辅助分析软件的发展.23.2 PSPICE 的简介.33.3 SABER 的简介.33.4 MATLAB 简介.33.5 MATLAB-GUI 简介 .43.6 MATLAB 的优点.54 伴随网络法.64.1 添加法.64.2 电容 C 的伴随网络模型.64.3 电感 L 的伴随网络模型.74.4 伴随网络法分析瞬态电路的步骤.75 伴随网

8、络法的 MATLAB 编程实现.85.1 主程序流程图.85.1.1 GUI程序流程图.95.2 算例分析.9II5.2.1 输入参数.105.2.2 GUI输出参数.116 结语.12致谢.12参考文献.13附录.141.伴随网络法 MATLAB 主程序.142.高斯消元子程序.2311 绪论绪论通常情况下,我们对一个线性动态电路进行瞬态分析往往采用的是经典法,即列写出电路的时域微分方程并求解,得出电感电流或者电容电压,然后再根据各支路间的约束关系进一步求得其它各支路的电压或电流。众所周知在经典法中,如果电路中只含有一个动态元件(电感或电容),那么列出的方程是一阶微分方程,其求解过程相对简单

9、;但如果电路中含有两个或两个以上的动态元件,则所列出的方程将会是二阶或高阶微分方程,其求解过程会很麻烦,工作量很大。有鉴于此,人们又考虑采用积分变换的方法,利用拉普拉斯变换把已知的时域函数变换为频域函数,从而把时域的微分方程化为频域的代数方程。求出频域函数后,再作拉普拉斯反变换,返回时域,从而求得满足电路初始条件的原微分方程的解,且不需要确定积分常数1。但该方法同样也存在运算量大的问题,尤其是对于含有多个动态元件的高阶复杂动态电路,并且计算得出的结果很不直观,无法清晰地看出在过渡过程中各电量随时间变化的规律。本文就是从这个意义上出发,探索出一种线性电路瞬态分析的新方法伴随网络法。伴随网络法从建

10、立电路方程开始,就设法避开微分方程。它把动态电路的过渡过程时间 t0T 划分成若干时间间隔 t,把动态元件电感 L 和电容C 用相应的离散模型来取代,经过代换后的电路称为原电路的伴随网络。对于每一个时间间隔 t 而言,在伴随网络中,不再含有动态元件,取而代之的是动态元件 L、C 的离散模型,因而对该时间间隔下相应伴随网络的分析可视为稳态电路分析。也就是说,通过伴随网络法,可以将瞬态电路分析归结为一系列不同离散时刻下电阻网络的稳态分析。在对每一个离散时刻下的电阻网络进行方程列写时采用的是改进结点法,所列出的线性方程组采用的是电路方程的矩阵型式。其中结点电压方程矩阵的建立是采用的直接添加法,方程系

11、数矩阵及右端项的元素并非整体形成,而是采用逐次扫描电路中的每一个支路元件,分别添加它们对方程的贡献的方法。建立方程伊始,方程系数矩阵及右端项全部为零元素所填充,每扫描一个元件,就将它对方程的贡献填到合适的位置,这样逐次扫描,逐次添加,直至网络中每一条支路均被扫描,网络方程便被建立起来。当然整个网络方程的建立和求解都是借助于计算机并由MATLAB软件编程实现的,充分利用了该软件强大的数值计算功能和图形输出能力,力求更加方便直观。整个电路矩阵的建立也采用的是框架式结构,即电路规模、结点数、支路数以及各支路元件参数均由使用者自行输入,待分析支路的编号也由使用者输入,运行后即可直接显示出待求支路的电压

12、和电流波形。同时为了使输入输出界面更加友好,我还利用MATLAB自带的GUI工具作2了一个图形用户界面,用户只需要按照界面的要求进行网络拓扑参数和待分析支路编号的输入,运行后即可在屏幕上显示GUI界面下的输出电压和电流波形。简单方便,清晰直观。2 线线性性动态电动态电路分析的常用方法路分析的常用方法我们知道,对于动态电路的分析常用的方法有经典法和拉普拉斯变换法。对于经典法,我们常用来求解一些低阶的微分方程。运用拉普拉斯变换法可以求解一些较高阶的微分方程。2.1 经经典法典法对于仅含一个动态元件的简单电路,结合所给电路模型,根据KCL(基尔霍夫电流定律)、KVL(基尔霍夫电压定律)和支路的VCR

13、(电压电流关系)建立描述电路的方程,建立的方程是以时间为自变量的线性常微分方程,然后求解常微分方程,从而得到电路所求变量(电压或电流)。2.2 拉普拉斯拉普拉斯变换变换法法对于具有多个动态元件的高阶线性动态电路,用直接求解微分方程的方法比较困难。例如对于一个n阶方程,直接求解时需要知道变量及其各阶导数在t=0+时刻的值,而电路中给定的初始状态是各电容电压和电感电流在t=0+时刻的值,从这些值求得所需初始条件的工作量很大。于是人们通过拉氏变换,把已知的时域函数变换为频域函数,从而把时域的微分方程组转化为频域的代数方程组,求解代数方程组得到频域解后,再经拉普拉斯反变换返回时域,可以得到满足电路初始

14、条件的原微分方程组的解,而不需要确定积分常数。因此,拉普拉斯变换是求解高阶复杂动态电路的有效而且重要的方法之一。3 电电路的路的计计算机算机辅辅助助软软件件随着计算机技术的普及和快速发展,计算机辅助分析技术在工程技术领域的应用越来越广泛,为传统的电路分析分析与设计提供了新的手段。生产实际的发展和教学改革的需要,也促使原有的教学体系在内容和分析手段上必须进行相应的调整。因此计算机辅助分析这门课程应运而生。3.1 电电路的路的辅辅助分析助分析软软件的件的发发展展目前国内外常用的电路仿真软件有PSPICE和MATLAB等一些软件。这些软件都有各自强大的功能,在不同领域有着各自的特点,现在将其介绍如下

15、:33.2 PSPICE 的的简简介介用于模拟电路仿真的SPICE(Simulation Program with Integrated Circuit Emphasis)软件是于1972年由美国加州大学伯克利分校的计算机辅助设计小组利用FORTRAN语言开发而成的,主要用于大规模集成电路的计算机辅助设计。SPICE的正式版SPICE.2G在1975年正式推出,但是该程序的运行环境至少为小型机。现在国内使用较多的是PSPICE8.0版本,它能够工作在WINDOWS XP环境下,占用硬盘空间较小,整个软件有原理图编辑,电路仿真,激励编辑,元器件编辑,波形图等几部分组成,使用时是一个整体。虽然目前

16、PSPICE软件在高校中已经非常流行,但是它也存在着明显的缺点。比如:仿真模型都是针对小功率电子器件的;软件采用变步长算法,对于周期性开关状态变化的电力电子电路而言,将耗费大量时间在步长上面;输出数据后的格式兼容性也不理想。3.3 SABER 的的简简介介Saber模拟及混合信号仿真软件是美国Synopsys公司的一款EDA软件,被誉为全球最先进的系统仿真软件,是唯一的多技术、多领域的系统仿真产品,现已成为混合信号、混合技术设计和验证工具的业界标准,可用于电子、电力电子、机电一体化、机械、光电、光学、控制等不同类型系统构成的混合系统仿真,为复杂的混合信号设计与验证提供了一个功能强大的混合信号仿

17、真器,兼容模拟、数字、控制量的混合仿真,可以解决从系统开发到详细设计验证等一系列问题。3.4 MATLAB 简简介介MATLAB 是矩阵实验室(Matrix Laboratory)的简称,它是由 MathWorks 公司开发出来的一套功能强大的工程应用软件,它和 Mathematica、Maple 并称为三大数学软件。它在数值计算方面的功能可以说是首屈一指。MATLAB 可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其它编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB 软件主要包括以下 5 部分:MATL

18、AB 开发环境。这是一套可以帮助你使用 MATLAB 函数和文件的工具,这些工具中的大多数都采用图形用户界面,它包括 MATLAB 桌面和命令窗口、命令历史、编辑器和调试器、帮助浏览器、工作空间、文件和查询路径。MATLAB 数学函数库。这是一个涵盖了从求和、正弦、余弦这样一些基本函数,到矩阵求逆、矩阵特征值、贝赛尔函数和快速傅里叶变换等这样一些复杂函数的运算法则的大集合。4MATLAB 语言。这是一种高级矩阵语言,它具有可以控制(数据)流状态、函数、数据结构、输入输出和面向对象编程的特征。它允许快速创建小程序,也可以创建大的复杂的应用程序。图形处理。MATLAB 可方便地将矢量和矩阵用图形来

19、显示,也可注释和打印图形。它包括一些高级(绘图)函数,这些高级函数可用于二维和三维数据可视化、图像处理、动画和图像再现。它也包括一些低级函数,可使用户定制图形界面和在你的 MATLAB 应用软件上创建完整的图形用户界面。MATLAB 应用程序接口。这是一个允许你将用 C 语言和 Fortran 语言编写好的程序与 MATLAB 程序链接的库,它可以从 MATLAB 动态链接库中调用程序、将 MATLAB 作为一个计算引擎、读或写 MAT 文件。MATLAB 主要有以下优点:(1)友好的工作平台和编程环境;(2)简单易用的程序语言;(3)强大的科学计算及数据处理能力;(4)出色的图形处理功能;(

20、5)应用广泛的模块集合工具箱;(6)实用的程序接口和发布平台;(7)应用软件开发(包括用户界面)。3.5 MATLAB-GUI 简简介介GUI 的全称是 Graphical User Interfaces,其汉语意思是图形用户界面。是指由窗口、光标、按键、菜单、文字说明等对象(Objects)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如:进行计算、绘图等。图 1.伴随网络法的 GUI 界面1.支路选择对话框的功能如图1所示,左边的一个对话框上面写着请选择支路。我们把它称作支路选择对话框,它是用MATLAB-GUI中的listbo

21、x制作而成的。GUI中的listbox是一个列表框,其显示是由srting属性定义的一系列列表选项,用户能够选择其中的一个或者多个选项。在本设计中其使用方法如下:5在整个程序运行时,会提醒用户将电路的相关规模和数据输入程序。然后计算机将会自动地运算,并且把运算的结果存储起来。当程序运行到调用 GUI 界面时。支路选择对话框会自行回调已经存储好的电路中各个支路的编号。即支路对话框中将会列出各个支路的编号。在本设计中我们定义一次只能选择列表项中的一个选项,来避免选项间的冲突。所以用户在查看电路的波形时只能选择其中的一个支路。如果选择多个的话,系统会提示你选择方式错误。2.坐标图的功能在GUI界面中

22、,右边的是一个坐标平面,我们称它为坐标图。坐标图是用GUI中的axes制作而成的。axes可以调用每一个支路的电压或电流数据。并将其画成波形。坐标轴的横轴为时间轴,其纵轴的单位是电压V或是电流A。画出的波形一般比较的平滑。用户可以清楚的看到各个时刻的电压或电流值,并且总体的电压或电流走向也一目了然。当然具体是电压波形还是电流的波形,这就要看你选择了。Axes是一个二维的坐标图形,其调用的数据是经过运算保存后的所选择支路的数据,这些数据可以通过一个命令plot画成一个图形。并且通过选择GUI下面的电压或电流按钮,程序将自动改变坐标轴的单位。3.电压电流选择对话框电压电流选择对话框的功能是选择所要

23、查看的电压波形或电流波形。该对话框是由一个button group和两个radio button所组成。button group是一个按钮组合框。组合框是一个图形封闭区域,它可以把相关的控件(单选按钮或多选按钮等)组合在一起,使得界面的按钮功能和相互间的关系更容易理解。Button group 中包含了两个 radio button。radio button 是单选按钮。单选按钮一般是以组出现的。一组单选按钮之间的关系是相互排斥的,也就是说任何时候只有一个按钮有效。在本设计中只用到了两个单选按钮。上面的一个是电流波形选择按钮,下面一个是电压波形选择按钮。在用户没有做出选择的时候,系统默认的是电

24、压波形。让 axes 回调所选支路的电压数据,并给坐标轴辅以电压单位。当用户点击选择电流波形时,将触动 axes 回调所选支路的电流数据,并给坐标轴以电流单位。3.6 MATLAB 的的优优点点目前国内外常用的动态电路分析方法主要有两种:经典法和拉氏变换法。前者主要适用于分析简单的一阶电路,而后者则更适合于分析复杂的高阶动态电路。随着计算机的快速发展,计算机辅助软件的不断更新,现在电路分析可以借助于计算机软件,比如Pspice和Matlab来进行分析和运算,从而大大减少了计算工作量。6这两种电路分析软件各有优缺点:用Pspice求解电路不需要列写电路方程组,只需画出电路仿真图形或写出Pspic

25、e的input file,较为方便快捷,但其解是离散数据,图形输出光滑度较差;而Matlab 采用的是拉氏变换法,虽然速度较慢,但可以求得待求量的时域表达式,解是连续性的,故精度较高,图形光滑度好。可以充分发挥Matlab强大的数据运算和处理能力以及完美的图形输出功能。4 伴随网伴随网络络法法伴随网络法的数学模型是把动态电路的过渡过程时间t0T划分成若干时间间隔t,把动态元件电感L和电容C用相应的离散模型来代替,经过代换后的电路称为原电路的伴随网络电路。对于每一个时间间隔t而言,在伴随网络中,我们认为不再含有动态元件,取而代之的是动态元件L、C的离散模型,因而对该时间间隔下相应伴随网络的分析可

26、视为稳态电路分析。也就是说,通过伴随网络法,可以将瞬态电路分析归结为一系列不同离散时刻下电阻网络的稳态分析。当然这种思路的背景主要是基于计算机辅助分析的基础上,因为在这种过程中要重复计算很多次,单靠人工是无法实现的,不过通过计算机就可以既方便又快捷的算出结果。4.1 添加法添加法利用直接法建立网络方程,方程系数矩阵及右端项的元素并非整体形式。通常采用逐次扫描电路中的每一原件,分别添入他们对方程的贡献的方法。建立方程的开始,方程系数矩阵及右端项全为零元素所填充,扫描一个元件就将它对方程的贡献填入合适的位置,这样逐次扫描,逐次添加,直至网络中每一支路均被扫描,网络方程便建立起来。这种方法简称“添加

27、法”。4.2 电电容容 C 的伴随网的伴随网络络模型模型+-Ci(t)u(t)+-Un+1In+1G=2C/h(2C/h)Un+In图2.电容C及其伴随网络模型如图 2 所示,图中左边电容 C 的电压 u(t)与电流 i(t)为关联参考方向,则:i(t)=Cdu(t)/dt (1)在某一离散时刻 tn+1,in+1=Cun+1 (2)7我们采用梯形积分公式:un+1=un+(un+un+1)h/2 (3)故而由式(2)、 (3)可得:in+1=un+12C/h-(un2C/h+in) (4)由此得出图 2 中右边所示电容的伴随网络模型,该离散模型是由一个电导和一个电流源并联而成。电导 G 的取

28、值为 2C/h,电流源的取值为(2C/h)un+in,其中参数 C 为电容值(法拉),h 为划分后的时间间隔 t(秒)。4.3 电电感感 L 的伴随网的伴随网络络模型模型+-L+-Un+1In+1G=h/2L(h/2L)Un+Ini(t)u(t)图3 电感L及其伴随网络模型如图 3 所示,图中左边电容 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+i

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

30、用步骤(3)形成的伴随网络,建立电路方程并求解,得出该时刻的响应;(5)如果 t2T,分析结束,输出结果;否则增加时间步长 h,转向步骤(3)。5 伴随网伴随网络络法的法的 MATLAB 编编程程实现实现本文编程采用的是目前电路分析领域使用较多的软件MATLAB,该软件具有强大的数学运算功能和图形处理能力,其数据处理十分有效、精细,运行速度较快,且数据格式兼容性较好,便于数据的后处理与分析。5.1 主程序流程主程序流程图图、 、 m at l ab、 、 、 、 、 、 、 、 、 、 、 、 、 、 n、 、 、 、b、 、 、 、 、 、 q、 、 、 、 、 、 、 、 、 、 T、 、

31、 、 、 、 、 e-net 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 1、 、 、 2、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、

32、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 p、 、t =0、 、 、 、 、 p、 、 、 、 、 、 、 、 、 t 、 、 、 、 T t T? t = 0? t = p?、 、 、 、 、 、 、 C 、 、 、 L、 、 、 、 、 、 、 vl 0、 、 、 2、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 t = 0、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 C 、 L、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、

33、、 、 、 、 、 、 、 、 、 、C 、 L、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、gui 、 、 、 、 、 、 、 、 、 、 、 、 、 A、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、l i st box、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、axes、 、 、 、 、 、 、 、 、 、 、

34、、 、 、 、 、 、 、 、 、 、 、 、 、 、 axes、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、图 4.伴随网络法主程序流程图伴随网络法主程序流程图如图 4 所示,另外还有高斯消元子程序这里就不再赘述了,所对应的 MATLAB 源程序在文后的附录中给出。95.1.1 GUI 程序流程程序流程图图、gui 、A, 、Axes、V, 、V, 、Axes、Axes、A, 、Axes、图 5 GUI 程序流程图5.2 算例分析算例分析有一线性网络如图 4 所示,如果电容元件的初始值为 UC(0+)=0V,电感

35、元件的初始值 iL(0+)=0A,R1=R2=R3=2,gm=1S,L=1H,C=2F。开关 K 在 t=0 时刻闭合,且 K 闭合前电路已处于稳态。求:t0 时各支路的电压和电流。图6 算例电路图105.2.1 输输入参数入参数从网络结构我们可以看出,该电路共有5个结点,7个支路(每个元件均算作一个支路)。其中包含3个电阻,1个独立电压源,1个受控电流源,另外还有两个动态元件电容C和电感L。运行程序后,屏幕提示信息如下:请输入电路规模请输入待求网络的结点数: 5n = 5请输入待求网络的支路数: 7b = 7请输入待求网络的动态元件数: 2q = 2请输入过渡过程的时间(单位:秒) : 15

36、T = 15请输入第1支路的始结点,终结点,元件类型,参数1,参数2,控制支路始结点,终结点(没有则置零) :- 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支路的始结点,终结

37、点,元件类型,参数1,参数2,控制支路始结点,终结点(没有则置零) :- 2, 0, VCCS, 1, 0, 2, 3请输入第6支路的始结点,终结点,元件类型,参数1,参数2,控制支路始结点,终结点(没有则置零) :- 4, 0, C, 2, 0, 0, 0请输入第7支路的始结点,终结点,元件类型,参数1,参数2,控制支路始结点,终结点(没有则置零) :11- 3, 4, L, 1, 0, 0, 0当所有支路元件信息均输入后,程序开始进入循环,并给出各时间间隔内所对应的结点电压和困难支路电流。最后,程序会调用GUI,并显示各个支路的编号,以便供用户查看各个支路。5.2.2 GUI 输输出参数出

38、参数本题以电容C所在第六支路为例进行仿真,其结果图7和图8所示。左边为所有支路,我们选中了第六支路,右边为电压电流的波形图。用户可以根据需要进行选择所要查看的电压或电路波形,图下方有一个返回健。用户在查看完之后就可以返回。根据实际的计算,我们发现仿真的结果和实际计算的结果完全一致。当然我们还可以把该方法应用到实际的教学过程中,相信教学的效率和效果将会大大的提高,这就是多媒体教学的特色。图7.GUI的电压波形仿真图图8.GUI的电流波形仿真图126 结语结语本文是以MATLAB GUI为电路分析平台,应用微积分的数学思想,把高阶线性动态电路的瞬态分析转化为若干个连续的微小时间段内的线性电阻电路的

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

40、进一步完善的地方,如:支路元件中没有考虑到耦合电感元件,所采用的激励源均为直流电源等。今后可考虑将交流电源也添加进来,再加入耦合电感,这样的话该设计就将更加完美。致致谢谢转眼间四年的时间就要过去了,这也意味着大学生活就要结束,我们要走向社会了。回忆起这四年的点点滴滴,无论是在生活上还是在学习上。如果没有各位老师和同学的帮助,我想我是不会进步的。本课题的选题是在导师的精心点拨和悉心指导下完成的。老师平日里工作繁多,但在我做毕业设计的每个阶段,从外出实习到查阅资料,设计草案的确定和修改,中期检查,后期详细设计等整个过程中都给予了我悉心的指导。在论文完成之际,我首先感谢母校河南科技学院的辛勤培育之恩

41、。其次,感谢机电学院给我提供了很好的设计环境。河南科技学院的各位领导、老师和同学对我的学习给予了很大的支持和帮助,使我在这里不仅体会到了学习的乐趣,而且也感受到了集体给我的关怀,在此谨对他们表示衷心的感谢。论文结束之际,感谢我的指导老师。他的专业知识丰富、才思敏捷、治学严谨,而且认真负责,耐心讲解问题,对我的毕业设计给予了很大的指导和帮助,使我能够顺利的完成毕业设计,在此向他表示衷心的感谢!同时还要感谢其他教育过我的老师们,他们在这四年期间,也给了我很大的帮助。在此致以诚挚的谢意和崇高的敬意。 最后,我要向在百忙之中抽时间对本文进行审阅、评议和参加本人论文答辩的各位老师表示感谢。13参考文献参

42、考文献1 邹玲.电路理论M.武汉:华中科技大学出版社,20062 楼顺天,陈生潭,雷虎民. MATLAB 5. x程序设计语言M.西安:西安电子科技大学出版社,2000:1163 程少庚,崔杜武,刘小河.电网络分析M.西安:西安理工大学出版社,2003: 65-684 李玉生,赵凯,左小文,陈丽娟,王鹏,1999年全国供电可靠性分析中国电力J.2001(6):1835 李培芳,孙盾,李玉玲,李军. 电路学习辅导与题解M.北京:清华大学出版社,2006:77-786 游磊,梁颖.Matlab与Pspice在电路分析中的应用.成都航空职业技术学院学报J.2004(3) :7679 7 黄忠霖.控制

43、系统MATLAB计算及仿真M.北京:国防工业出版社,20068 张永瑞.电路基础教程M.北京:科学出版社,20059 孙祥.MATLAB7.0基础教程M.北京:清华大学出版社,200510施晓红,周佳.精通GUI图形界面编程 M.西安:北京大学出版社,200311游磊,梁颖. Matlab与Pspice在电路分析中的应用. 成都航空职业技术学学报J. 2004(3)555912刘蕴,基于MATALB电路辅助分析.电气电子教学学报.J.2005(8)717513游磊,梁颖,宁元中.MATLAB与PSPICE在电路分析中的应用.程度航空职业技术学院学报J.2004(9)727614沈宏,杨宾峰.伴

44、随网络法在线性电路瞬态分析中的应用.河南科技学院学报J.2008(2):848715Charles K.Alexander. Fundamentals of Electric CircuitsM.北京:清华大学出版社,200014附附录录1.伴随网伴随网络络法法 MATLAB 主程序主程序%*用伴随网络法(梯形公式)对线性电路进行瞬态分析*%clc %清除命令窗口,并使光标返回clear %清除工作空间的变量%*原始数据的输入和数据库的建立(各支路电压和电流均取关联参考方向*%输入格式:支路的始结点,终结点,元件类型,参数,控制支路始结点,终结点(没有则置零)回车disp(请输入电路规模);n

45、=input(请输入待求网络的结点数:);b=input(请输入待求网络的支路数:);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,:)=in

46、put(-);endFs=out;in;st;vl;vl0;c_out;c_in;database=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);15%*首先添加非动态元件的贡献进入节点电压方程*%for i=1:b-q k=database(i).out; l=database(i).in; v=database(i).vl; g=database

47、(i).c_out; h=database(i).c_in; sdim=size(Y,1); 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

48、)=-1; Y(sdim+1,l)=-1; end case I %独立电流源所在支路对伴随网络方程的贡献 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;16 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

49、Y(k,h)=Y(k,h)-v; end if l=0 Y(l,g)=Y(l,g)-v; end 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

50、)=1; Y(sdim+1,g)=1; Y(sdim+2,sdim+1)=-v;17 if h=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 endendsdim1=size(Y,1);sdim2=size(V,1);if sdim2p 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;

51、 g=database(j).c_out; h=database(j).c_in; sdimy=size(Y,1);18 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*v

52、1/p)*B(1,j)+B(2,j); Y1(k,k)=Y1(k,k)+2*v1/p; Y1(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)=V

53、1(k,1)+v2; V1(l,1)=V1(l,1)-v2; else v2=(2*v1/p)*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;19 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);

54、 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*v1)*B(1,j)+B(2

55、,j); V1(k,1)=V1(k,1)-v2; end end endsdimv1=size(V,1);sdimy1=size(Y,1);sdimv2=size(V1,1);sdimy2=size(Y1,1); if sdimv1sdimy1 V(sdimy1,1)=0; end if sdimv2sdimy2 V1(sdimy2,1)=0; end20 if t=0 x=Gauss_xiao(Y,V); %调用高斯消元子程序来求解电路方程 else x=Gauss_xiao(Y1,V1); end%*根据运算结果求取各支路电压和电流*%w=0; for z=1:b k1=database(

56、z).out; l1=database(z).in; v3=database(z).vl; g1=database(z).c_out; h1=database(z).c_in; switch database(z).st case R if l1=0 U(z)=x(k1,1); I(z)=U(z)/v3; else U(z)=x(k1,1)-x(l1,1); I(z)=U(z)/v3; end case E w=w+1; U(z)=v3; I(z)=x(n-1+w,1); case I I(z)=v3; if l1=0 U(z)=x(k1,1); else U(z)=x(k1,1)-x(l1,

57、1); end case CCCS if l1=021 U(z)=x(k1,1); else U(z)=x(k1,1)-x(l1,1); end for E=1:b k2=database(E).out; l2=database(E).in; if (k2=g1 & l2=h1) I(z)=v3*I(E);break end end case VCCS if (l1=0 & h1=0) U(z)=x(k1,1); I(z)=v3*x(g1,1); elseif (l1=0 & h1=0) U(z)=x(k1,1); I(z)=v3*(x(g1,1)-x(h1,1); elseif (l1=0

58、& h1=0) U(z)=x(k1,1)-x(l1,1); I(z)=v3*x(g1,1); else U(z)=x(k1,1)-x(l1,1); I(z)=v3*(x(g1,1)-x(h1,1); end case VCVS w=w+1; I(z)=x(n-1+w,1); if l1=0 U(z)=x(k1,1); else U(z)=x(k1,1)-x(l1,1); end case CCVS w=w+1;22 I(z)=x(n-1+w,1); if l1=0 U(z)=x(k1,1); else U(z)=x(k1,1)-x(l1,1); end case C if t=0 w=w+1;

59、 I(z)=x(n-1+w,1); elseif (t=0 & l1=0) I(z)=(2*v3/p)*(x(k1,1)-x(l1,1)-(2*v3/p)*B(1,z)+B(2,z); elseif (t=0 & l1=0) I(z)=(2*v3/p)*x(k1,1)-(2*v3/p)*B(1,z)+B(2,z); end if l1=0 U(z)=x(k1,1); else U(z)=x(k1,1)-x(l1,1); end case L if t=0 I(z)=database(z).vl0; elseif (t=0 & l1=0) I(z)=(p/(2*v3)*(x(k1,1)-x(l1

60、,1)+(p/(2*v3)*B(1,z)+B(2,z); elseif (t=0 & l1=0) I(z)=(p/(2*v3)*x(k1,1)+(p/(2*v3)*B(1,z)+B(2,z); end if l1=0 U(z)=x(k1,1); else U(z)=x(k1,1)-x(l1,1); end end end23%*将每次运算的结果存入单元阵列A中,以免运算结果被冲掉*%B=zeros(2,b); for J=1:b B(1,J)=U(J); %单元阵列的每一页均为2行b列,其中第一行为各支路电压 B(2,J)=I(J); %第二行为各支路电流 end A1,m=B; m=m+1;

61、endfor QQ=1:bb=input(请输入待分析的支路编号:)for X=1:(T/p+1) B=A1,X; DY(1,X)=B(1,b); DL(1,X)=B(2,b);endt=0:p:T;subplot(2,1,1);plot(t,DY,linewidth,1);title(支路电压(单位:V);xlabel(时间/s ); ylabel(幅值/V );subplot(2,1,2);plot(t,DL,linewidth,1);title(支路电流(单位:A);xlabel(时间/s ); ylabel(幅值/A );end2.高斯消元子程序高斯消元子程序function x=Ga

62、uss_xiao(A,b) %高斯列主元消去法求解线性方程组i,j=size(A);I=eye(i);Z=zeros(i);g,f=size(b);A(:,j+1)=b; %构造系数矩阵的增广矩阵24%前消构成上三角阵for n=1:j-1 %列标记 C=zeros(j); C(n:j,n:j)=A(n:j,n:j); a=C(:,n); c=find(abs(a)=max(abs(a); temp=A(n,:); A(n,:)=A(c(1),:); A(c(1),:)=temp; for m=n+1:i %行标记 L(m)=A(m,n)/A(n,n); end e=Z(n,:); e(n)=1; LL=I-L*e; A=LL*A; L=Z(n,:);end%进一步构成主对角阵for n=j:-1:2 %列标记 for m=n-1:-1:1 %行标记 L(m)=A(m,n)/A(n,n); end e=Z(n,:); e(n)=1; LL=I-L*e; A=LL*A; L=Z(n,:);end%将对角阵的主对角线元素化为 1for m=1:j A(m,:)=A(m,:)./A(m,m);endx=A(:,j+1);

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!