目录摘要 (1)1 理论知识 (2)1.1基尔霍夫定律 (2)1.2结点电压法 (2)2 阻抗匹配网络的计算 (3)2.1原理分析 (3)2.2 建模 (4)2.3应用MATLAB对上面的题目编程 (5)2.4 绘图 (6)3 simulink程序仿真 (8)3.1电路图及仿真效果 (8)3.2仿真过程中发现的问题 (9)4 结果对比分析 (10)5 心得体会 (11)参考文献 (12)摘要做为一名自动化专业的学生,掌握基本的电路知识是非常重要的。
但是在掌握基本的知识点的时候,我们也需要掌握一些解决电路方面的“诀窍”,比如某些软件。
本文就以电路中的一些基本知识点引入这些软件在解决电路问题中的一些具体应用。
而且本文是以Matlab为例,说明如何运用Matlab来进行电路的求解和仿真。
在求解和仿真的过程中,我们可以发现应用这些软件可以让非常复杂的电路的分析、计算编的非常简单,是一个非常实用、有效的工具。
关键词:电路;Matlab;仿真;1 理论知识1.1基尔霍夫定律基尔霍夫定律包括基尔霍夫电流定律(KCL)和基尔霍夫电压定律(KVL)。
基尔霍夫电流定律(KCL):在集总电路中,任何时候,对任意结点,所有流出结点的支路电流的代数和恒为零。
电流的“代数和”是根据电流是流出结点还是流入结点判断的。
若流出节点的电流前面取“+”号,则流入结点的电流前面取“-”号;电流是流出结点还是流入结点,均根据电流的参考方向判断。
所以对任一结点都有Σi=0;基尔霍夫电压定律(KVL): 在集总电路中,任何时候,对任意回路,所有支路电压的代数和恒为零。
在应用时,需要任意指定一个回路的绕行方向,凡是支路电压的参考方向与回路的绕行方向一致者,该电压前面取“+”号;支路电压参考方向与回路绕行方向相反者,前面取“-”。
最后,对任一回路都有Σu=0;1.2结点电压法定义:结点电压是在为电路任选一个结点作为参考点(此点通常编号为“0”),并令其电位为零后,其余结点对该参考点的电位。
并根据KCL写出方程,求出每个结点的电压。
在电路中任意选择某一结点为参考结点,其他结点为独立结点,这些结点与次参考结点之间的电压称为结点电压,结点电压的参考极性是以参考结点为负,其余独立结点为正。
由于任意支路都连接在两个节点上,根据KVL,不难断定支路电压就是两个结点电压表示。
在具有n个结点电压的共(n-1)个独立结点的KCL方程,就得到变量为(n-1)个独立方程,称为结点电压方程,最后由这些方程解出结点电压,从而求出所需的电压、电流。
这就是结点电压法。
2 阻抗匹配网络的计算如图1所示,已知电阻R1=R3=R6=1Ω,R2=R4=R5=2Ω,其中两个电流源F1=2.0A,F2=3.0A; 图12.1原理分析要想求电阻R1吸收的功率,就必须球的通过电阻的电流,或是求出R1两端的电压。
但是如果用网孔电流法的话,但是根据上图至少要列出5个方程,非常的复杂,所以去求器电流的话,自然也会很复杂;但是仔细观察就会发现,上图虽然网孔比较多,但是结点相对少得多了。
所以可以考虑实用节点电压法。
我们考虑将电流源和电压源的公共点做为参考点,应为这样更加容易计算。
这样就只用列3个方程即可。
1 322.2 建模以上图中的标有“0”的结点为参考结点,设结点“1”的电压值为1U ,结点“2”的电压值为2U ,结点“3”的电压值为3U 。
电流源F1,F2的大小为F1,F2,电压源H1,H2的大小为H1,H2。
则我们可以根据电路原理的知识可以列出以下方程,即:123111111121 1+123612326H H U U U F R R R R R R R R R ⎛⎫⎛⎫+++-+-=+ ⎪ ⎪⎝⎭⎝⎭ ··················(1) 12111112++2121252H U U F R R R R R R ⎛⎫⎛⎫-++=- ⎪ ⎪⎝⎭⎝⎭ ···································(2) 13111+1336U U F R R R ⎛⎫-∙+∙=- ⎪⎝⎭·················································(3) ()()12121P U U U U R =-*-÷ ················································(4) 我们可以把这两个方程转换成矩阵,设A 矩阵为1U ,2U ,3U 的序数,B 矩阵为右边的电流值,设1U ,2U ,3U 就为要求的未知量X ,由此我们可以写出一个矩阵方程AX=B ;两边同时左乘A 的逆,就可以得到X=A 的逆乘以B.在A 矩阵中111111=1236a R R R R +++,1211=12a R R ⎛⎫-+ ⎪⎝⎭,131=3a R -;2111=12a R R ⎛⎫-+ ⎪⎝⎭,22111=+125a R R R ⎛⎫+ ⎪⎝⎭,23=0a ;311=3a R -,32=0a ,3311=36a R R ⎛⎫+ ⎪⎝⎭;在X 矩阵中111=x U ,212=x U ,313=x U 在B 矩阵中11211+26H H b F R R =+,21222H b F R =-,311b F =-; 通过计算我们就可以求出1和2出的电压值,从而我们就可以求出负载所吸收的功率。
我们求得:1U =4.1951,2U =4.1463,3U =1.4634,P=0.00242.3应用MATLAB 对上面的题目编程clear; clc;F1=2.0;F2=3;H1=4;H2=2;R1=1;R2=2;R3=1;R4=2;R2=2;R3=1; %为给定元件赋值111111=1236a R R R R +++;1211=12a R R ⎛⎫-+ ⎪⎝⎭;131=3a R -; 2111=12a R R ⎛⎫-+ ⎪⎝⎭;22111=+125a R R R ⎛⎫+ ⎪⎝⎭;23=0a ;311=3a R -;32=0a ;3311=36a R R ⎛⎫+ ⎪⎝⎭; %对A 矩阵各元素赋值 11211+26H H b F R R =+;21222H b F R =-;311b F =-; %对B 矩阵各元素赋值 A=[11a 12a 13a ;21 a 22a 23a ;31a 32a 33a ]; B=[11b ;21b ;31b ]; x=[1U ;2U ;3U ]x=A\B %方程求解12=u U U ∆- %电阻两端的电压差1P u u R =∆*∆÷ %求出负载Rl 消耗的功率运行程序后得到的结果:2.4 绘图通过编程我们就可以求出负载所消耗的功率,但是当负载一定时电阻两端的电压与电阻的耗能有什么关系呢?为此我们可以运用MATLAB强大的绘图功能,通过设置电源电压的变化来得到各组不同的流经负载的电流值和负载所吸收的功率值。
为此我们可以这样编程:R1=1;A=0:0.01:0.1;I=A/R1;P=A.^2*R1;plot(A,I);xlabel('电压');ylabel('电流');title('电阻电流随电阻两端电压变化曲线'); %画出电阻电流随电阻两端电压变化曲线figure;plot(A,P);xlabel('电压');ylabel('功率');title('电阻功率随电阻两端电压变化曲线'); %画出电阻功率随电阻两端电压变化曲3 simulink程序仿真3.1电路图及仿真效果绘制仿真电路图基本步骤:(1)启动MATLAB软件;(2)然后在工具栏上打开simulink;(3)在File菜单下New选项下选择Model按钮建一个文件;(4)在元件库Simpowerstysems找到所需要的元件,将其拖动到画图区中;(5)在Slimulink下的Sinks中找到display,并将其拖到画图去中(6)在端点之间拖拽鼠标完成连线工作;(7)双击各元件,修改参数到指定要求,成后如图4所示。
3.2仿真过程中发现的问题第一次使用matlab做仿真感到不是很顺利。
虽然最终还是做出来结果了,但是感觉自己对matlab还是不是很熟悉。
以后还要加强学习。
首先在放置元器件的时候,开始的时候总是找不到电阻,后来发现了RLC并联的负载,选中之后将其中的L与C的值改为0,最后就可以得到纯电阻了。
在放置稳恒电流源的时候,找不到直流的电流源,只有交流电流源。
有了电阻的经历之后,选中AC电流源,拖到画图区,双击,将参数改到合适的值。
其中最重要的是频率要改为0,香味要改成90。
如果有结果就一定要显示出来,所以我在电阻的两端加上电压表,再加上显示的元件。
只要读出显示元件上的数值就知道结果了。
4 结果对比分析根据理论,我们可以知道,通过电阻的电流与电阻两端的电压时成正比的;电阻消耗的功率与电阻两端的电压的平方是成正比的。