1引言高阶动态电路在时域内建立的是高阶微分方程,手工几乎无法求解。采用S域法,虽然利用积分变换,将时域的微分方程转化为S域的代数方程,但求解时需要对激励的原函数进行拉氏变换,利用运算电路求出响应的象函数,再求拉氏反变换,才能得到时域解,计算过程很繁琐,且结果为解析解,不便于观察响应的动态变化过程。目前,Matlab应用于动态电路的计算,大多为手工建立方程,利用Matlab语言编程完成计算[1-7],这要求使用者具备Matlab编程知识。利用Matlab强大的矩阵计算功能可以编写通用动态电路计算程序,由计算机自动建立电路方程并求解。同时,利用Matlab自带的GUIDE工具,可以设计使用方便的用户界面,用户无需编程,只需在用户界面中输入电路信息,就可以得到解析解和波形图,实现动态电路的自动计算。2电路方程建立方法表矩阵法2.1表矩阵方程表矩阵法[8]是将描述电路拓扑结构及特性的KCL方程、KVL方程和VCR元件特性方程组合起来,形成大型的矩阵方程,其矩阵形式为[9]:10-A-TYbZb00A0UbIbUb=Wb0式中:A是关联矩阵;Yb,Zb和Wb是描述元件特性的矩阵;Ub,Ib和Un是支路电压、支路电流和结点电压列向量。系数矩阵中各子矩阵均为方阵。2.2子矩阵形成方法(1)关联矩阵。关联矩阵用于描述电路有向图拓扑性质。设电路有向图的独立结点数为n,支路数为b,则关联矩阵为一个(nb)的矩阵,其行对应结点,列对应支路,它的任一元素ajk定义如下:ajk=+1,表示支路k与结点j关联,且它的方向背离结点;ajk=-1,表示支路k与结点j关联,且它的方向指向结点;ajk=0,表示支路k与结点j无关联。(2)元件特性矩阵。元件特性矩阵Yb,Zb和Wb由元件特性确定,元件特性如表1所示。表1元件特性表/元件/特性方程YbUb+ZbIb=Wb/Yb//Zb/Wb缱Ub-RbIb=01-Rb0绲GbUb-Ib=0Gb-10缛sCbUb-Ib=CbU0sCb-1CbU0绺Ub-sLbIb=-LbI01-sLb-LbI0缪乖Ub=E10E缌髟Ib=Is01IsVCVS00-1UkUj+1000IkIj=000-110000VCCS00gm0UkUj+100-1IkIj=000gm0100-10CCVS100-1UkUj+000IkIj=0100-10000CCCS1000UkUj+00-1IkIj=0100000-10注:s是拉氏算子,k表示控制量所在的支路,j表示受控源所在的支路;、gm、和分别表示受控源控制系数3表矩阵方程建立及计算的Matlab实现3.1电路信息表示方法电路信息用来反映电路拓扑结构和元件参数,以矩阵形式表示。矩阵的每一行表示一条支路信息,每行各元素定义为:[支路号元件类型始节点终节点参数1参数2参数3],其中,元件类型用数字表示,按GRLCIs-UsVCVSVCCSCCVSCCCS依次编号为0~9;参数1表示元件参数;参数2表示动态元件初始值;参数3表示受控源控制量所在支路号。3.2程序流程图用Matlab编程建立表矩阵方程并计算的关键在于形成表矩阵方程中的各个子矩阵,子矩阵形成方法如前所述,程序流程如图1所示[10]。4计算平台界面设计利用Matlab自带的GUIDE可以完成用户界面设计。GUIDE提供了方便高效的集成环境,所有GUI支持的控件都集成在该环境中,并提供界面外观、属性图1程序流程图和行为响应方式的设置方法[11]。GUIDE生成包含界面设计信息的.fig文件和后台代码设计的.m文件,所有控件的动作事件通过在这个.m文件提供的
matlab 实现高阶动态电路,基于Matlab高阶动态电路自动计算平台的设计与实现
最新推荐文章于 2021-03-21 20:48:27 发布