《MATLAB语言》课程论文MATLAB在电路分析中的应用姓名:李娜学号:12010245303专业:2010级通信工程班级:(1)班指导老师:汤全武学院:物理电气信息学院完成日期:2011.12.151MATLAB在电路分析中的应用(李娜120102453032010级通信1班)[摘要]本文将Matlab软件的模拟功能用于电路分析研究,以基本电路理论中典型的直流电阻电路和含有复数运算的正弦稳态电路的计算为例,详述了如何分别运用MATLAB语言编程的方法来对电路进行仿真分析和计算。结论表明,应用这两种方法可以是复杂电路的分析和计算变得非常快捷·方便,从而为电路分析提供了一个有效的辅助工具。[关键词]MATLAB;电路分析;模拟;正弦稳态;向量图一、问题的提出MATLAB语言结构紧凑·语句精炼,指令表达式和数字表达式非常接近,仅需几条简单的语句,就可以完成一大串其他高级语言才能完成的任务,可大大节省编程时间,提高计算效率。基本电路是电类专业非常重要的专业基本课,不仅为后继课程提供了深厚的理论基础,也为电路的分析计算提供了各种方法。其中,在电路分析理论中一般将关于时间的微分方程转化为复数方程求解,在一些电路比较复杂的·方程数量多的情况下,都可以运用MATLAB程序来解决。运用该程序不仅可以节约时间,还可以非常方便的调试电路参数,直观的观察电路中的电流·电压和功率波形。二、应用1典型直流电阻电路的分析计算图1所示为典型的直流电阻电路,含有电压控制的受控电流源VCCS,其中,R1=1Ω,R2=2Ω,R3=3Ω,Us=10v,Is=15A,VCCS=0.25U2,现需分析计算电流i1和电压u22图1典型直流电阻电路基本电路分析的基本方法实现建立数学模型,一般是电路方程组。然后通过求解方程组,得到各支路电压和电流。对图1应用回路电流法,可列出如下方程组:R11Im1+R12Im2+R13Im3=Us11R21Im1+R22Im2+R23Im3=Us22R31Im1+R32Im2+R33Im3=Us33其中,R11=R1+R2,R22=R1+R3,R33=R2+R3,R12=R21=-R1,R13=R31=-R2,R23=R32=-R3,US11=Us,Us22=U1,Us33=-U3而I1=Im1-Im2,Im2=Is=15,Im3=0.25U2,U2=R2(Im1-Im3)整理以上方程,并写出形如AX=BU的矩阵方程形式,可得R11R1300Im11-R12R21R23-10Im3=0-R22US(1)R31R3201U10-R32IS0.25R21-0.25R200U300MATLA语言编程法应用MATLAB语言编程如下:CLEAR;US=10;IS=15;R1=1;R2=2;R3=3;%为给定元件赋值R11=R1+R2;R12=-R1;R21=-R1;R13=-R2;R31=-R2;%为系数矩阵各元素赋值R22=R1+R3;R23=-R3;R32=-R3;R33=R2+R3;A=[R11R1300;R21R23-10;R31R3301;0.25*R21-0.25*R200];%列出系数矩阵AB=[1-R12;0-R22;0-R23;00];USS=[US;IS];%列出系数矩阵BX=A\B*USS;%解出XI1=X(1)-IS%显示要求的分量I1和U2U2=2*(X(1)-X(2))程序运行结果I1=-10.0000,U2=202典型的正弦稳态电路的分析与计算图2所示为典型的正弦稳态电路,其中,1000,10001,4.01,22,11,15.0,4510sradFCmLRRVCCSS现需分析该含源一端口在b-o端口间戴维南等效电路3图2典型的正弦稳态电路图3在b-o端口间外加电流源后的电路首先建立数学模型。我们在原含源一端口电路的b-o端子间外加一个正弦电流源,如图3所示。对图3应用结点电压法,并以o点为参考结点,则有如下方程组:Y11úao+Y21úbo=ús11Y12úao+Y22úbo=ús224其中,整理以上方程,并转换成形如AX=BU的矩阵方程形式为:MATLAB语言编程法实现电路的分析计算根据式(2),我们设想,若令íb=0,代入ús=10∠-45︒,则可求得戴维南等效电源电压úOC,它就等于此时的úbo;然后再令ús=0,将原电路(图2)变成一个无源一端口,并设íb=1∠0︒,代入式(2)即可求得戴维南等效阻抗,即据此,可设计MATLAB程序。应用MATLAB语言编程如下:clear;R1=1;R2=2;L1=4e-4;C1=1e-3;US=5*sqrt(2)-j*5*sqrt(2);%为给定元件赋值W=1000;ZR1=1;ZR2=2;ZL1=j*W*L1;ZC1=1/(j*W*C1);Y11=1/(ZR1+ZC1)+1/ZL1+1/ZR2;Y22=1/ZR2;%为系数矩阵各元素赋值Y12=-1/ZR2;Y21=-1/ZR2;A=[Y11Y21;(Y12-0.5)Y22];B=[1/(ZR1+ZC1)0;01];%列出各系数矩阵X0=A\B*[US;0];%戴维南等效电源电压UOC等于b=0,s=20时的Ubo,是一个复数UOC=X0(2),uoc=abs(UOC),uang=angle(UOC)%求戴维南等效电源电压的模和辐角X1=A\B*[0;1];%再令s=0,并设b=10,求戴维南等效阻抗ZeZeq=X1(2)ze=abs(Zeq),zang=angle(Zeq)%求戴维南等效阻抗Zeq的模和辐角程序运行结果UOC=0.0000+7.0711iuoc=7.0711uang=1.5708Zeq=2.0000+1.0000ize=2.2361zang=0.46363向量与电路5图4电路图电路如图4所示,其中的,08,012,8.03,1.02,21,13,32,4121UUSSjxjxjxRRR求各支路电流并画向量图。这是一个交流稳态电路,对二个独立结点列结点电压方程:Y11U1+Y12U2=IS1Y21U1+Y22U2=IS2其中:Y11=G2+G3;Y12=-(G2+G3+G5)Y21=G1+G2+G3+G4;Y22=-(G2+G3)IS1=G5US2;IS2=G1US1G1=1/R1;G2=1/(R2-jx2);G3=1/-jx3;G4=1/jx4;G5=1/R3.用Matlab语言编程实现上述计算,程序如下:R1=4;R2=3;R3=1;X1=2;X2=0.1;X3=0.8;US1=12;US2=8;%输入初始参数G1=1/R1;G2=1/(R2一j*X2);G3=1/-j*X3;G4=1/j*X1;G5=I/R3;Y11=G2+G3;Y12=-(G2+G3+G5);Y21=G1+G2+G3+G4;Y22=-(G2+G3);IS1=G5*US2;IS2=G1*US1%计算线性方程组系数矩阵中以上各元素的值A=[Y11,Y12;Y21,Y22]B=[Is1;Is2]%组成方程组A、B6U=A\B%解结点电压I1=G1*(U(1)一US1)%求支路电流I1I2=G2*(U(1)一U(2))%求支路电流I2I3=G3*(U(1)一lJ(2))%求支路电流I3I4=G4*U(1)%求支路电流I4I5=G5*(U(2)一US2)%求支路电流I5程序运行结果为:I1=-2.9841+0.9862iI2=-1.0625+1.5658iI3=-3.8430-2.4247iI4=7.8895-0.1273iI5=-4.9054-0.8589i三、MATLAB应用在电路稳态分析1直流稳态分析实例在图5所示电路中,4,22,1431,16KRRRRUS,求U10.图5直流稳态分析用的实例求解此题的方程组为对应的M文件为A=[7-20;-320;101];%定义方程组的系数矩阵AB=[16016];%定义右端矩阵B7C=A\B%求解未知变量矩阵CC=4.00006.000012.0000%此为U10值2交流稳态分析在图6所示的电路中,.1,100sin2,100sin10,629,614,11,18,16327gttFeCFeCLSGRRIUSS用2b法求各支路的变量(本例中只比较R6上的电压)。图6交流稳态分析的实例与图6对应的2b方程的矩阵形式为矩阵方程中各子阵的列可写成下面给出其M文件:A=[-100001000;-11000100;01000-1011;000100-100;0000-1000-1]%输入矩阵AB=[110001000;001-100-100;0-1-1000010;0000-100-11]%输入矩阵BC=[-10-1j*1E-40-111j*2E-4];%输入矩阵CYe=diag(C)8Ye(5,6)=-1%产生零矩阵为-1D=[j*10011-1110-1-1];Ze=diag(D)Us=[00000010+j*000];%输入电压UsIs=[0-2+j*00000000];%输入电流IsE=zeros(5,9)%产生零矩阵EF=zeros(4,9)%产生零矩阵FG=[00000]'%输入矩阵GH=[0000]'%输入矩阵HW=[EA;BF;YeZe]%输入矩阵WN=[G;H;Us+Is]%输入矩阵NXn=W\N%求解支路电压第6条支路的电压向量为1.0e+002*(-0.0000+0.0004i);计算其峰值为:0.05656V。3MATLAB应用在电路暂态分析图7所示的电路中,开关s闭合前已达稳定状态。已知:,5,101,1.0,11,1.01teteLFCR求开关s在时间t=0瞬时闭合后,电感支路上的电流iL(t).图7暂态分析所用的电路此题求解的二阶微分方程如下:对应的M文件为Desolve('D2y+10*Dy+10*y=1000','Dy(0)=100','Y(0)=0')9Ans=100-101.6398*exp(-1.1270*t)+1.6398*exp(-8.8730*t)其解为iL(t)=100-101.6398e-1.1270t+1.6398e-8.8370t由此例看出,用MATLAB自身提供的数值微分函数dsolve求解微分方程简便快捷,大大节省了编程时间,采用同一算法的Fortran语言和C语言程序却多达百条.四、结论本文通过基本电路理论中的典型题目介绍了如何应用MATLAB语言编程的方法来对复杂的电路进行分析和计算。该方法不仅可以节约计算时间,方便的调试电路参数,而且还可以非常直观地观察和测量电路中的电压,电流功率等物理量。结论表明,MATLAB提供了高效简洁的编程方法,其强大而简洁的绘图功能,矩阵和数组的运算能力以及很强的扩充性,能充分满足基本电路分析,计算的需要,从而可以大大的提高计算精度和工作效率,在电路理论学科研究与工程实践中具有很好的应用价值。五、课程体会经过一学期紧张而有序的课程学习,在忙碌之余也得到了颇多的体会。我深深体会到MATLAB语局简练,功能强大,简单实用,用途广泛,不仅可以大大的提高操作效率,缩短编程时间,是一种简单实用的工具,而且还可以应用于其他学科领域,此次在电路分析中,它有效又简洁地解决了许多的复杂电路问题,给我带来了许多的方便。正是由于我的任课老师汤全武老师的精彩授课和认真的讲解,使我学到了更多的MATLAB语言的知识,并且更好的应用于生活学习中……非常感谢汤老师这一学期的教育,愿MATLAB语言有着更广泛的应用前景……[参考文献]:[1]邱关源.电路(第三版)[M].北京:高等教育出版社,1989[2]王炳武.MATLAB5.3实用教程[M].北京:中国水利水电出版社,2000[3]李瀚荪.电路分析基础[M].北京:高等教育出版社,1986[4]邱关源.电路[M].北京:高等教育出版社,1990[5]童诗自等.模拟电子技术基础简明教程[M]、北京:高等教育出版社,