当前位置:首页 > 述职报告 > 浅谈Matlab在电路分析中的应用 电路分析与应用
 

浅谈Matlab在电路分析中的应用 电路分析与应用

发布时间:2019-02-21 04:07:07 影响了:

  [摘 要]本文应用Matlab的矩阵运算、微分方程组数值求解及绘图三个功能,分析了Matlab在求解电路方程组问题的应用,分析了Matlab在状态变量分析法求解动态电路响应问题的应用。
  [关键词]Matlab矩阵状态变量分析法
  [中图分类号]U1[文献标识码]A[文章编号]1007-9416(2010)03-0077-02
  
  1 引言
  Matlab最基本的功能是进行矩阵运算。电路理论中的基尔霍夫定律、支路电流法、网孔电流法以及节点电压法列写的方程组都可以以矩阵形式表示。另外,求解动态电路响应的问题是一个难点,状态变量分析法是提供了解决这一难题的一种很好的方法,其分析结果是一组一阶微分方程组,Matlab提供了微分方程组的数据值解。因而,可以应用Matlab求解电路习题。本文通过几个实例来说明 Matlab在电路解题中的应用。
  2 Matlab简介
  Matlab是一种以矩阵运算为基础,集数值运算、符号运算、数据可视化、仿真等多种功能于一体的科学计算软件。它适用于工程领域的分析设计与复杂计算。
  由于Matlab具有其他计算语言无法比拟的优势,当前已成为美国等发达国家大学教学和科研中最常用的工具。已广泛应用于电路设计与仿真、信号处理、控制、机械等领域,是工程领域最为流行的软件之一。
  3 Matlab在电路分析中的应用实例
  3.1 Matlab基于基尔霍夫定律的应用
  基尔霍夫定律是德国物理学家基尔霍夫在1845年提出的,是电路理论中最基本也是最重要的定律之一。它概括了电路中电流和电压分别遵循的基本规律。它包括基尔霍夫电流定律(KCL)和基尔霍夫电压定律(KVL)。KCL规定了电路中任一结点处电流必须服从的约束关系,而KVL则规定了电路中任一回路内电压必须服从的约束关系。下例是基于基尔霍夫定律的MATLAB矩阵运算在电路解题中的应用。例:求图1电路的电压U和电流I。
  (1)建模
  列3个回路电压方程:
  
  整理方程组,将其变换成矩阵形式:
  
  (2)matlab程序求解
  clear,close all,clc
  A=[-6 15 -1;6 -4 0;0 2 1]; B=[0 ; 10; -12];
  X=A\B;
  U=X(3);I=X(1);
  disp("电压U(V):"), disp(U)
  disp("电流I(A):"), disp(I)
  (3)程序运行结果
  电压U(V): -11.6923
  电流I(A): 1.5641
  3.2 Matlab在网孔电流法中的应用
  网孔电流法是平面电路的分析方法,是以以假想存在的网孔电流作为电路的变量,利用基尔霍夫电压定律(KVL)列写网孔电压方程,进行网孔电流的求解,进而求出电路中各电流和电压的方法。网孔电流法分析步骤:(1)标出网孔电流的参考方向;(2)以各自的网孔电流方向为绕行方向,列KVL方程;(3)对列出的方程组进行求解。
  网孔电流法列出的方程组可以以矩阵形式表示,Matlab具有强大的矩阵运算功能,为我们求解方程组提供了极大的方便,可以借助Matlab对方程组进行求解。该例是网孔电流法的Matlab求解应用。例:求图2电路的电压ux。
  3.2.1建模
  设各网孔电流如图,列网孔电流方程:
  
  整理方程组,得:
  
  将方程组变换成矩阵形式:
  
  3.2.2matlab程序求解
  clear,close all,clc
  A=[1 0 0 0 0 0;0 8 0 -6 1 2;0 0 1 0 0 -2; 0 -6 0 7 -1 0;0 1 0 -1 0 0;0 0 0 -1 0 1];
  B=[1; 4; 0; 0; 1; 0];
  X=A\B;
  Ux=X(6);
  disp("电压Ux(V):"), disp(Ux)
  3.2.3程序运行结果
  电压Ux(V): 0.4000
  3.3 Matlab在状态变量分析法的应用
  一个电路的状态是指在某个给定时刻必须具备最少量的信息,这些信息与该时刻以后的激励,就能够完全确定以后任何时刻该电路的行为。状态变量是一组能够确定电路行为的最少变量。
  电路中,能够反应电路储能多少的物理量就称为状态变量。动态电路中的储能元件只有电容和电感,其储能多少分别是通过电容电压和电感电流表示出来的,所以电容电压和电感电流就是状态变量。
  状态变量分析法是求解动态电路响应问题的一种方法,是对电路建立状态方程后进而对电路进行分析的方法。用状态变量分析法分析动态电路主要有四个步骤:选择状态变量;列出状态方程;依初始条件求解状态方程;写输出方程并求解。
  状态方程是一阶微分方程组,最适合用数值方法求解。特别是对于非线性电路和时变电路,其状态方程一般只能用数值方法求解。Matlab能够对一阶微分方程组进行数值方法求解。而Matlab提供强大的绘图,使得数学计算结果可以方便地实现了可视化。
  举一例:如图3所示,已知R1=9Ω,R2=3Ω,C3=1.2F, C4=2F, L5=7H,输入激励为uS=8sin(t)v,画出iC3和uL5的响应输出波形。(设初始状态为0)
  3.3.1建模
  (1)写状态方程
  在线性非时变电路中,由于求解电路响应所必需的初始条件可以由电容的初始电压和电感的初始电流完全确定,所以通常选取独立的电容电压uC和独立的电感电流iL作为状态变量。选择uC3、uC4、iL5作为状态变量,列方程,得:
  
  用uC3、uC4、iL5和uS表示非状态变量iR1和iR2,得到:
  
  代入方程组,有:
  
  整理成标准形式的状态方程为:
  
  (2)写输出方程
  这里,要求C3上的电流和L5上的电压响应输出波形,故以iC3和uL5作为输出变量,有:
  
  整理后可得标准形式的输出方程:
  
  (3)matlab程序求解
  %设x(1)=uC3, x(2)=uC4, x(3)=iL5
  %编写函数,以fc.m为文件名存盘:
  functionxdot=fc(t,x)
  xdot=[-1/(1.2*3)*x(1)+1/(1.2*3)*x(2)+1/1.2*x(3);
  1/(2*3)*x(1)-1/(2*3)*x(2); -1/7*x(1)-9/7*x(3)+8*sin(t)/7]
  %主文件为main.m清单如下:
  t_final=15; x0=[0;0;0];
  [t,x]=ode45("fc",[0,t_final],x0);
  subplot(2,1,1),plot(-1/3*x(:,1)+1/3*x(:,2)+x(:,3))
  title("C3上的电流波形")
  xlabel("t"), ylabel("i"), grid
  subplot(2,1,2),plot(-1*x(:,1)-9*x(:,3)+8*sin(t))
  title("L5上的电压波形")
  xlabel("t"), ylabel("u"), grid
  (4)程序运行结果(图4)
  4 结语
  以上举了几个Matlab在电路解题的应用实例。求解复杂电阻电路,列出的方程数多,如果单纯靠手工进行计算,既耗时又费力。Matlab的强大的矩阵运算功能,为我们求解方程组提供了极大的方便。另外,求解动态电路响应是一个难点,状态变量分析法是求解动态电路响应的一种很好的方法,状态变量分析法的分析结果是一组一阶微分方程组,Matlab为我们提供了微分方程组的数值解,Matlab强大的绘图,使得数学计算结果可以方便地实现了可视化,这是其它语言所不能比拟的。当然,Matlab的应用远远不止这些,还有待于我们进一步对它进行学习。
  
  [参考文献]
  [1] 蒲俊,吉家锋,伊良忠.MATLAB6.0数学手册[M].上海:浦东电子出版社,2002.
  [2] 胡翔俊.电路分析[M].北京:高等教育出版社,2001.
  [3] 蔡元宇,陈永祥,杨其允.电路及磁路[M].北京:高等教育出版社,2000.
  [4] 陈怀琛,吴大正,高西全.MATLAB及在电子信息课程中的应用[M].北京:电子工业出版社,2002.
  [5] 薛定宇,陈阳泉.高等应用数学问题的MATLAB求解[M].北京:清华大学出版社,2004.
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3