您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > MATLAB在电路中的应用
MATLAB应用(三)——Matlab在电路中的应用2MATLAB中的变量与常量都是矩阵(标量可看做1×1阶的矩阵,向量可看做n×1或1×n阶的矩阵),其元素可以是复数和任意形式的表达式,它具有元素群运算能力。MATLAB的这些优于其他语言的特色,有利于分析计算电路的各种问题,并且使编程更简便,运算效率更高。3学习目的:通过介绍计算电路问题的编程方法和技巧,逐步熟悉MATLAB语言的使用。例题的解法本身,不一定最佳。求解电路的专用软件:Spice、PSpice等软件4内容:电阻电路的求解(例1-3)动态电路的求解(例4-7)例题分析过程:例题说明求解过程:①建模②Matlab程序说明③Matlab程序运行、结果演示5电阻电路的求解(1)如us=10V,求i3,u4,u7;(2)如已知u4=6V,求us,i3,u7。图1例1的电阻电路[例1]如图1所示的电路,己知:R1=2Ω,R2=4Ω,R3=12Ω,R4=4Ω,R5=12Ω,R6=4Ω,R7=2Ω。6对图示电路,用网孔电流法列写网孔电流方程如下:A)建模0)(00)(0)(7655554333321cbacbascbaiRRRiRiiRiRRRiRuiiRiRRR解:70)(00)(0)(7655554333321cbacbascbaiRRRiRiiRiRRRiRuiiRiRRR写成矩阵形式为:scbauiiiRRRRRRRRRRRRR001007655554333321也可直接列写数字方程为:scbauiii00124121201212412120121242R1=2Ω,R2=4Ω,R3=12Ω,R4=4ΩR5=12Ω,R6=4Ω,R7=2Ω8scbauiii00124121201212412120121242矩阵方程简写为:suBAI①令us=10V,求解矩阵方程得到ia、ib、ic。再由i3=ia-ib,u4=R4ib,u7=R7ic即可得到问题(1)的解9②根据电路的线性性质,可令i3=k1us,u4=k2us,u7=k3us,由问题(1)的解求得比例系数,进一步使问题(2)得到解答。具体根据问题(1)的结果可列出以下的表达式:sssuukuukuik734231,,因此,通过下列表达式即可求得问题(2)的解:423374211324,,ukkukuukkukikuusss10B)Matlab程序(Ex01.m)clear,closeall,formatcompactR1=2;R2=4;R3=12;R4=4;R5=12;R6=4;R7=2;%为给定元件赋值display('解问题(1)')%解问题(1)a11=R1+R2+R3;a12=-R3;a13=0;%将系数矩阵各元素赋值a21=-R3;a22=R3+R4+R5;a23=-R5;a31=0;a32=-R5;a33=R5+R6+R7;b1=1;b2=0;b3=0;us=input(‘给定us=’),%输入解(1)的已知条件A=[a11,a12,a13;a21,a22,a23;a31,a32,a33];%列出系数矩阵AB=[b1;0;0];I=A\B*us;%I=[ia;ib;ic]ia=I(1);ib=I(2);ic=I(3);i3=ia-ib,u4=R4*ib,u7=R7*ic%解出所需交量display('解问题(2)')%利用电路的线性性质及问题(1)的解求解问题(2)u42=input('给定u42=');k1=i3/us;k2=u4/us;k3=u7/us;%由问题(1)得出待求量与us的比例系数us2=u42/k2,i32=k1/k2*u42,u72=k3/k2*u42%按比例方法求出所需交量scbauiii0012412120121241212012124211C)程序运行结果解问题(1)给定us=10i3=0.3704,u4=2.2222,u7=0.7407解问题(2)给定u42=6us2=27.0000,i32=1.0000,u72=2运行结果:电路的解:(1)i3=0.3704A,u4=2.2222V,u7=0.7404V(2)us=27V,i3=1A,u7=2VEx01.m12补充说明:实际中,如果熟悉列方程的方法,那么在编写MATLAB程序时可直接写出A和B为:从而可省去给元件和矩阵各元素赋值等语句。0012412120;121241212;0121242BA13[例2]对如图2所示的电路,已知R1=R2=R3=4Ω,R4=2Ω,控制常数K1=0.5,k2=4,is=2A,求i1和i2。图2例2的电路14对图示电路,用节点电压法列写方程得:312214322212211111111RikikuRRRuRikiuRuRRbasbaA)建模解:uaub15根据图示电路,控制变量i1、i2与节点电压ua、ub的关系为:4221,RuiRuuibba整理以上两式,将i1、i2也作为未知量,和前面的节点电压共同组成方程,并写成矩阵形式有:sbaiiiuuRRRkRkRRRRkRRR000110100111111101112142213243221221令is=2A,求解上式即可得到i1和i2。uaub16B)Matlab程序(Ex02.m)clear,formatcompactR1=4;R2=4;R3=4;R4=2;%设置元件参数is=2;k1=0.5;k2=4;%按A*X=B*is列写电路的矩阵方程,其中X=[ua;ub;i1;i2]。a11=1/R1+1/R2;a12=-1/R2;a13=0;a14=-k1;%设置系数Aa21=-1/R2;a22=1/R2+1/R3+1/R4;a23=-k2/R3;a24=k1;a31=1/R2;a32=-1/R2;a33=-1;a34=0;a41=0;a42=1/R4;a43=0;a44=-1;A=[a11,a12,a13,a14;a21,a22,a23,a24;a31,a32,a33,a34;a41,a42,a43,a44];B=[1;0;0;0];%设置系数BX=A\B*is;i1=X(3),i2=X(4)%显示要求的分量sbaiiiuuRRRkRkRRRRkRRR00011010011111110111214221324322122117Ex02.mC)程序运行结果(电路的解)i1=1,i2=1sbaiiiuuRRRkRkRRRRkRRR00011010011111110111214221324322122118[例3]对如图3所示的电路,已知R1=4Ω,R2=2Ω,R3=4Ω,R4=8Ω;is1=2A,is2=0.5A。图3例3的电路(1)负载RL为何值时能获得最大功率?(2)研究RL在0~10Ω范围内变化时,其吸收功率的情况。19解:用戴维南等效电路来求解。对图3(a)电路,断开ao,并在ao端接入外电流源ia,如图3(b)所示。以o为参考点列节点方程得:A)建模asaassaiiuRRuRuRuRuRRRuRiiuRuRuRR243231432321112142114111110111111111图3例3的电路20前面的方程写成矩阵形式为:43343321141411111111111111RRRRRRRRRRRRRAassaiiiuuu2121110000011A其中:asaassaiiuRRuRuRuRuRRRuRiiuRuRuRR143231432321112142114111110111111111戴维南等效电路如图3(c)所示,其方程为:ocaeqauiRu图3例3的等效电路21方法Ⅰ:令ia=0,is1=2A,is2=0.5A,由矩阵方程求得u11,u21,ua1。因ia=0,由戴维南等效电路方程得:uoc=ua1。再令is1=is2=0,ia=1A,仍由矩阵方程可求得另一组u12,u22,ua2。由于内部电源is1=is2=0,故uoc=0。从而由戴维南等效电路方程有:22aaaequiuRocaeqauiRu22ocaeqauiRu于是,原电路戴维南等效电路如图3(d)所示,负载RL获得最大功率时有:eqocLeqLRuPRR42max图3例3的等效电路至于问题(2),由图3(d)可得RL吸收功率为:22)(LeqocLLRRuRP再令RL=lΩ,2Ω,3Ω,…,1OΩ,即可由上式分别求得PL,并画图。23可设ia为一个序列(如ia=0.1,0.2,…,2),计算相应的ua序列,再用线性拟合,得出如下的直线方程:方法Ⅱ:)1()2(cicuaa从而求得:)2(,)1(cRcueqoc24B)Matlab程序Ⅰ(Ex03-1.m)clear,formatcompactR1=4;R2=2;R3=4;R4=8;%设置元件参数is1=2;is2=0.5;%按A*X=B*is列写此电路的矩阵方程,其中X=[u1;u2;ua];is=[is1;is2;ia]a11=1/R1+1/R4;a12=-1/R1;a13=-1/R4;%设置系数矩阵a21=-1/R1;a22=1/R1+1/R2+1/R3;a23=-1/R3;a31=-1/R4;a32=-1/R3;a33=1/R3+1/R4;A=[a11,a12,a13;a21,a22,a23;a31,a32,a33];B=[1,1,0;0,0,0;0,-1,1];%设置系数矩阵B%方法Ⅰ:令ia=0,求uoc=x1(3);再令is1=is2=0,设ia=1,求Req=ua/ia=x2(3).Xl=A\B*[is1;is2;0];uoc=X1(3)X2=A\B*[0;0;1];Req=X2(3)RL=Req;P=uoc^2*RL/(Req+RL)^2%求最大负载功率%也可设RL为一数组,求出的负载功率也为一数组,画出曲线找极大值RL=0:10,p=(RL*uoc./(Req+RL)).*uoc./(Req+RL),%设RL序列,求其功率figure(1),plot(RL,p),grid%画出功耗随RL变化的曲线xlabel(‘RL'),ylabel(‘p')25Matlab程序Ⅱ(Ex03-2.m)clear,formatcompactR1=4;R2=2;R3=4;R4=8;%设置元件参数is1=2;is2=0.5;%按A*X=B*is列写此电路的矩阵方程,其中X=[u1;u2;ua];is=[is1;is2;ia]a11=1/R1+1/R4;a12=-1/R1;a13=-1/R4;%设置系数矩阵a21=-1/R1;a22=1/R1+1/R2+1/R3;a23=-1/R3;
本文标题:MATLAB在电路中的应用
链接地址:https://www.777doc.com/doc-3175625 .html