基于Matlab的RC电路支路电流法的仿真分析.docx
《基于Matlab的RC电路支路电流法的仿真分析.docx》由会员分享,可在线阅读,更多相关《基于Matlab的RC电路支路电流法的仿真分析.docx(14页珍藏版)》请在冰点文库上搜索。
基于Matlab的RC电路支路电流法的仿真分析
基于Matlab的RC电路支路电流法的仿真分析
摘要:
先对电路图进行分析,选择支路电流法,列出对应的关系式,使用matlab建立M文件,编写对应的程序,得到结果。
并将其用simulink进行仿真,得到对应的图形,更加直观的将结果显示出来。
关键字:
正弦稳态电路;matlab;simulink仿真;支路电流法。
Abstract:
Thefirstanalysisofthecircuit,selectthebranchcurrentmethod,liststhecorrespondingrelationship,theestablishmentofM-fileusingmatlab,writethecorrespondingprogram,togetresults.Andsimulationusingsimulinkgetthecorrespondinggraphics,moreintuitiveresultsdisplayed.
Keywords:
sinusoidalsteadystatecircuit;matlab;simulinksimulation;branchcurrentmethod
前言:
作为学习电信的学生,有时为了解决复杂的电路的问题,减少我们的计算量,我们就得采用matlab分析,并且使用simulink仿真,这样不仅减少了计算量,而且使得电路问题更加的直观。
1电路图及其要求
1.1电路图
图1-1电路图
1.2电路要求
正弦稳态电路如上图所示,已知us=14.14sin(2t),is=sin(2t+6/pi)
R1=R2=R3=R4=2,C=1,L=0.5,求个支路电流并作向量图和波形图;并用simulink进行仿真。
2matlab支路电流法
2.1电路分析
使用支路电流法,就必须进行每个支路电流的设置,然后用matlab进行编程,算出结果。
首先,简单的介绍一下支路电流分析法。
2.2.1定义:
支路电流法是在计算复杂电路的各种方法中的一种最基本的方法。
它通过应用基尔霍夫电流定律和电压定律分别对结点和回路列出所需要的方程组,而后解出各未知支路电流。
它是计算复杂电路的方法中,最直接最直观的方法.前提是,选择好电流的参考方向.
2.2.2简介:
以支路电流为求解对象的电路计算方法。
用此法计算一个具n个节点和b条支路的电路时,因待求的支路电流数为b,故需列出b个含支路电流的独立方程。
根据电路内的支路电流在节点上必须服从基尔霍夫电流定律(KCL)的约束,支路电压沿回路必须服从基尔霍夫电压定律(KVL)的约束,而支路电流和支路电压在每条支路上又必须满足该支路的特性方程(即支路的电压-电流关系,VCR),可以导出这b个方程。
首先,对除参考节点外的所有节点,利用KCL写方程,可得(n-1)个只含支路电流的独立方程;对所选定的基本回路,利用KVL写方程,可得(b-n+1)个只含支路电压的独立方程。
再根据各支路的连接形式和所含元件的类型写出b个既含支路电流又含支路电压的支路方程。
最后利用支路方程消去(b-n+1)个方程中的支路电压,便得到总数为(n-1)+(b-n+1)=b个只含支路电流的方程。
有了这些方程,就可用适当的数字方法求解。
2.2.3计算步骤
用支路电流法计算电路的具体步骤是:
①为电路的支路电压和支路电流选定参考方向。
选一个节点为参考节点,并根据基本回路的定义选定一组这种回路(如果电路是平面网络,则可选内网孔),最后为这组回路定好绕行方向。
②对除参考点外的所有节点写出(n-1)个KCL方程。
③对基本回路(或网孔)写出(b-n+1)个KVL方程。
④写出各支路的方程。
⑤将支路方程代入KVL方程,消去电路电压后,得出(b-n+1)个含支路电流的方程。
⑥用适当的数学方法从第1步和第5步得到的(n-1)+(b-n+1)=b个方程组成的方程组中解出支路电流。
⑦将求得的支路电流代入支路方程,求出支路电压。
对于线性电路,应用支路电流法时,电路内不能含有压控元件构成的支路。
因为这种支路的电压无法通过电流来表达,从而也就无法从KVL方程中消去该支路的电压。
另外,当遇到电路(不管是线性还是非线性)含仅由独立电流源构成的支路时,最好使用电源转移法将该电流源进行转移(见电路变换)以后,再用支路电流法进行计算。
2.2.4算法特点
优点:
直观,所求就是支路电流。
缺点:
当支路数目较多时,变量多,求解过程麻烦,不宜于手工计算。
2.2使用支路电流法分析本题
先设出三个节点,然后根据节点将每个支路的电流关系列出,再列写KCL、KVL方程。
I3-i5+i6=-is
-i2-i3+i4=0
-i1-i4-i6=is
R1I1-(R2+JW)I2-R4I4=0
-(R2+JX)I2+R3I3=US
-R3I3-R4I4-JXI6=0
2.3Matlab方法
2.3.1Matlab的简单介绍[1]
简介:
MATLAB是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
基本功能:
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值方面方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对c,fortran,c++,java的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
应用:
MATLAB产品族可以用来进行以下各种工作:
●数值分析
●数值和符号计算
●工程与科学绘图
●控制系统的设计与仿真
●数字图像处理技术
●数字信号处理技术
●通讯系统设计与仿真
●财务与金融工程
MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。
附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。
优势:
优势
(1)友好的工作平台和编程环境
(2)简单易用的程序语言
(3)强大的科学计算机数据处理能力
(4)出色的图形处理功能
(5)应用广泛的模块集合工具箱
(6)实用的程序接口和发布平台
(7)应用软件开发(包括用户界面)
常用函数介绍:
Plot函数可以接一些参数,来改变所画图像的属性(颜色,图像元素等)。
下面是一些属性的说明
b blue(蓝色) point(点) - solid(实线)
g green(绿色) o circle(圆圈) :
dotted(点线)
r red(红色) x x-mark(叉号) -. dashdot(点画线)
c cyan(墨绿色) + plus(加号) -- dashed(虚线)
m magenta(紫红色)* star(星号) (none)noline
y yellow(黄色) s square(正方形)
k black(黑色) d diamond(菱形)
v triangle(down)
^ triangle(up)
< triangle(left)
> triangle(right)
p pentagram
h hexagram
2.3.2编程
根据所列写的方程关系,将其用Matlab的语言编写出来。
R1=2;
R2=2;
R3=2;
R4=2;
w=2;
L=0.5;
C=1;
XL=w*L;
XC=1/(w*C);
IS=cos(pi/6)+j*sin(pi/6);
US=10;
A=[0,0,1,0,-1,1;0,-1,-1,1,0,0;-1,0,0,-1,0,-1;R1,-(R2+j*XL),0,-R4,0,0;0,-(R2+j*XL),R3,0,0,0;0,0,-R3,-R4,0,-j*XC];
B=[-IS;0;IS;0;US;0];
I=A\B
3电路的电流向量图和波形图的绘制
3.1电流的向量图[2]
在编好的matlab程序后面加上下面的语句即可画出向量图
compass([I
(1),I
(2),I(3),I(4),I(5),I(6)]);
图3-1电流的向量图
3.2波形图
同样,在写好的程序后面加上下面的一段程序,在运行,就可以绘制出电流的波形图[3]
x=[real(I
(1)),real(I
(2)),real(I(3)),real(I(4)),real(I(5)),real(I(6))];
y=[imag(I
(1)),imag(I
(2)),imag(I(3)),imag(I(4)),imag(I(5)),imag(I(6))];
[rdirstrength]=cart2pol(x,y);
direction=rdir*180/pi
r=strength*sqrt
(2)
t=0:
pi/10000:
3.5;
i1=r
(1)*cos(w*t+rdir
(1));
i2=r
(2)*cos(w*t+rdir
(2));
i3=r(3)*cos(w*t+rdir(3));
i4=r(4)*cos(w*t+rdir(4));
i5=r(5)*cos(w*t+rdir(5));
i6=r(6)*cos(w*t+rdir(6));
figure;
plot(t,i1,t,i2,t,i3,t,i4,t,i5,t,i6);
图3-2电流的波形图
4simulink仿真
4.1simulink的简介[4]
Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。
在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。
Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。
同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。
Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。
Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。
为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI),这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。
Simulink®是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。
对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。
.
构架在Simulink基础之上的其他产品扩展了Simulink多领域建模功能,也提供了用于设计、执行、验证和确认任务的相应工具。
Simulink与MATLAB®紧密集成,可以直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。
特点
丰富的可扩充的预定义模块库
交互式的图形编辑器来组合和管理直观的模块图
以设计功能的层次性来分割模型,实现对复杂设计的管理
通过ModelExplorer导航、创建、配置、搜索模型中的任意信号、参数、属性,生成模型代码
提供API用于与其他仿真程序的连接或与手写代码集成
使用EmbeddedMATLAB™模块在Simulink和嵌入式系统执行中调用MATLAB算法
使用定步长或变步长运行仿真,根据仿真模式(Normal,Accelerator,RapidAccelerator)来决定以解释性的方式运行或以编译C代码的形式来运行模型
图形化的调试器和剖析器来检查仿真结果,诊断设计的性能和异常行为
可访问MATLAB从而对结果进行分析与可视化,定制建模环境,定义信号参数和测试数据
模型分析和诊断工具来保证模型的一致性,确定模型中的错误
4.2本题的simulink模型
图4-1simulink模型
4.3进行仿真
在电路中安放电流表,测出各个支路的电流,并用示波器进行显示
图4-2I1支路电流
图4-3I2支路电流
图4-4I3支路电流
图4-5I4支路电流
图4-6I5支路电流
图4-7I6支路电流
4.4分析与结论
通过观察示波器中输出的波形,确认了与.m所编写的程序的数值是一样的
使用.M文件编写的程序得到的电流值,十分的快捷,为我们节省了大量的时间;
通过使用simulink仿真得到的波形图更加的直观,使我们能马上了解各个电流的大小相位,同样,使用simulink画的模型框图,轻易地反映出了电路图,能更好的与得到的电流波形做比较。
5总结
在这次创新实验设计中,我找到了以前理论课程学习上的不足,以后会加强这方面的训练。
通过对matlab的学习,我了解到其在电路分析,信号系统分析中的作用,也了解了各个学科之间是相互关联的,单单学好一门课程是远远不够的。
同样,我必须从基础学起,然后再开始解决复杂的问题,相信下次一定能有很大的提高。
.