课题基于matlab的正弦稳态电路功率的分析.docx
《课题基于matlab的正弦稳态电路功率的分析.docx》由会员分享,可在线阅读,更多相关《课题基于matlab的正弦稳态电路功率的分析.docx(30页珍藏版)》请在冰豆网上搜索。
课题基于matlab的正弦稳态电路功率的分析
学号:
课程设计
题目基于matlab的正弦稳态电路功率的分析
学院信息工程学院
专业
姓
学号
指导教师
完成时间:
2016年1月10日
课程设计任务书
学生姓名:
专业班级:
指导教师:
_工作单位:
__武汉理工大学
题目:
基于matlab的线性电路正弦稳态特性分析
课题要求:
利用matlab强大的图形处理功能,符号运算功能和数值计算功能,实现线性电路正弦稳态特性的仿真波形。
课题内容:
1对R,L,C三种基本原件,绘出表现其正弦稳态特性的时域波形图向量图。
R:
i(t),u(t),p(t),U,I
L:
i(t),u(t),p(t),U,I
C:
i(t),u(t),p(t),U,I
其中R,C,L三参数可变,w不变。
2对R,L,C串联电路,绘出表现其正弦稳态特想的时域波图,向量图。
1.绘出us(t),i(t),ur(t),ul(t),uc(t)波形图。
将R,C,L三参数可变,w不变,观察波形情况,比较us(t)与i(t)相位差判断感容性。
2.绘出p(t)=us(t)*i(t)波形图,并将其分解为三种情况:
P(t)=P0+P2w(t)
=Pr(t)+Px(t)
=Pr(t)+Pl(t)+Pc(t)
3.绘出Us,I,Ur,Uc,Ul向量图。
Us=Ur+Ul+Uc
Ur=RI
Uc=i/jwc*i
Ul=jwlI
其中R,C,L三参数可变,w不变,观察向量图变化。
时间安排:
学习MATLAB语言第1-3天
课程设计第4-5天
答辩第6天
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
目录
摘要3
绪论5
1matlab简介6
1.1matlab的基本功能6
1.2特点与优势6
1.3Matlab常用函数7
1.3.1注解函数7
1.3.2绘图函数7
1.4matlab分析电路流程7
2R,L,C串联电路8
2.1R,L,C串联电路的分析8
2.1.1利用matlab绘制串联电路的正弦稳态时域波形图8
3.1.2R,L,C串联路复功率的分析10
3.1.3串联R、L、C的相量图11
3R,L,C时域波形图和向量图12
3.1电阻稳态电路12
2.1.1电阻R的正弦稳态电路分析:
12
3.1.2现利用matlab绘制电阻的正弦稳态时域波形图12
3.1.3利用matlab绘制的电阻R的正弦稳态电路的相量图13
3.2电感稳态电路14
3.2.1电感L的正弦稳态电路的分析14
3.2.2现利用matlab绘制电感的正弦稳态时域波形图15
3.2.3利用matlab绘制的电感的正弦稳态电路的相量图16
3.3电容稳态电路17
2.3.1电容C的正弦稳态电路分析:
17
3.3.2利用matlab绘制电容的正弦稳态时域波形图18
3.3.3利用matlab绘制的电容的正弦稳态电路的相量图19
4设计心得21
5参考文献22
附录23
1电阻的正弦稳态波形程序23
2电阻的相量图绘制程序23
3电感的正弦稳态波形绘制程序23
4电感的相量图绘制程序24
5电容的正弦稳态波形图绘制程序24
6电容的相量图绘制程序25
7R、L、C串联电路正弦稳态波形绘制程序25
9R、L、C串联电路的相量图绘制程序27
摘要
线性电路的正弦稳态分析是比较难的部分,特别是是当电路非常复杂时,分析起来更是费时费力,而用matlab来分析大大的简化了分析。
本文在简要介绍了Matlab软件的基础上,提出了利用Matlab来进行电路分析的方法。
并重点研究了用Matlab分析正弦稳态电路,具体是用编程和Simulink仿真两种方法分析正弦稳态电路。
编程法中用到支路电流法、回路电流法和节点电位法三种电路分析方法。
且与一般分析方法比较,可以看出用Matlab分析正弦稳态电路具有简便、直观的优点。
本文对R,L,C串联电路和R,L,C并联电路为例,用Matlab绘出表现其正弦稳态特想的时域波图,向量图。
与一般分析方法比较,可以看出用Matlab分析正弦稳态电路具有简便、直观的优点。
关键字:
Matlab正弦稳态向量图电路分析方法
Abstract
Linearcircuitsinesteady-stateanalysisisdifficultpart,especiallywhenthecircuitisverycomplex,time-consumingupisanalyzed,andmatlabtoanalyzegreatlysimplifiedanalysis.ThispaperbrieflyintroducedintheMatlabsoftwareareputforward,basedontheuseofMatlabtocircuitanalysismethod.AndfocusontheMatlabanalysissinesteady-statecircuit,andtheconcreteistouseprogrammingandSimulinktwomethodstoanalyzesinesteady-statecircuit.Programmingmethodusedinbranchcurrentmethod,theloopcurrentmethodandthemethodofthenodepotentialthreecircuitanalysismethod.Andwiththegeneralanalysiscomparison,mayseetheMatlabsinusoidalsteadystatecircuitanalysisisasimple,intuitiveadvantages.Inthispaper,theR,L,CseriescircuitandR,L,Cparallelconnectioncircuitforexample,byusingMatlabdrawthesinesteadystateperformanceespeciallywanttowavethetimedomain,vectordiagram.Comparedwiththegeneralanalysismethod,wecanseethattheMatlabanalysissineissimple,intuitivesteady-statecircuitofadvantages.
Keywords:
MatlabSinusoidalSteadyStateVectorDiagramCircuitAnalysis
绪论
电路的计算机辅助分析技术作为CAD技术的一个重要的分支,几乎与CAD技术同时起源。
如今电路的分析软件层出不穷且功能日益强大。
PSpice分析软件便是一个典型的代表,它是一个通用电路模拟程序。
它不仅能进行电路的直流分析、交流分析和暂态分析而且具有容差分析、最坏情况分析、噪声分析等功能。
如今己出现了Pspice9.0版本和Windows版本,不仅具有更强的分析功能和丰富的器件模型,而且有着良好的人机界面和交互式的图形输入方式。
在数字电路方面以Orcad为代表的分析软件也不断推陈出新,使得对数字电路进行时序仿真、逻辑模拟、功能模拟等变得异常方便。
可以说电路分析软件的发展正呈现出一片欣欣向荣的景象。
由于专用的分析软件存在着成本、人们熟悉程度和软件本身局限性等方面的缺点,以及MATLAB对矩阵和数值运算的高效性,我们便想到了利用MATLAB来实现各种电路的分析。
MATLAB和高级语言的关系仿佛高级语言和汇编语言的关系一样,高级语言的执行效率要低于汇编语言,然而其编程效率与可读性、可移植性要远远高于汇编语言。
同样MATLAB比一般高级语言的执行效率要低,但其编程效率与可读性、可移植性要远远高于其他高级语言。
对于工程技术人员来说,即使不懂C或FORTRAN这样的程序设计语言也照样可以设计出功能强大、界面优美、稳定可靠的高质盘程序来,且开发周期会大大地缩短。
由于专用的分析软件存在着成本、人们熟悉程度和软件本身局限性等方面的缺点,以及MATLAB对矩阵和数值运算的高效性,我们便想到了利用MATLAB来实现各种电路的分析。
1matlab简介
1.1matlab的基本功能
MATLAB是由美国Mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB是由美国Mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
1.2特点与优势
特点:
高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;具有完备的图形处理功能,实现计算结果和编程的可视化;友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等),为用户提供了大量方便实用的处理工具。
优势:
友好的工作平台和编程环境;简单易用的程序语言;强大的科学计算机数据处理能力;出色的图形处理功能;应用广泛的模块集合工具箱;实用的程序接口和发布平台;应用软件开发(包括用户界面)。
1.3Matlab常用函数
1.3.1注解函数
xlabel('InputValue');%x轴注解
ylabel('FunctionValue');%y轴注解
title('TwoTrigonometricFunctions');%图形标题
legend('y=sin(x)','y=cos(x)');%图形注解
gridon;%显示格线
1.3.2绘图函数
plot:
x轴和y轴均为线性刻度(Linearscale);
loglog:
x轴和y轴均为对数刻度(Logarithmicscale);
semilogx:
x轴为对数刻度,y轴为线性刻度;
semilogy:
x轴为线性刻度,y轴为对数刻度;
1.4matlab分析电路流程
在Matlab中,分析电路按以下流程图进行:
图.一
2R,L,C串联电路
2.1R,L,C串联电路的分析
图.二
如上图所示,对于R,L,C串联电路,在可变频率的正弦电压源
激励下,由于感抗、容抗随频率变动,所以,电路中的电压、电流响应亦随频率变动。
电路的输入阻抗
可表示为:
在这里取流过电阻的电流为:
,其幅值取单位长度。
则该电流信号的相量为:
。
2.1.1利用matlab绘制串联电路的正弦稳态时域波形图
通过对电路的分析,我们可以取正弦信号的角频率
电阻的阻值
R=10,L=2,C=0.5。
则绘制波信图的程序设计如下分析所示:
绘制波形图的时域范围为:
t=-20*pi:
pi/20:
20*pi;整个串联电路的电压相量为
。
则端电压u的幅值为abs(U),相角为:
Angle(U*180/pi),
。
串联电路的功率为
。
因此通过matlab绘制的串联电路的时域波形图如下:
图.三
由上图可知,整个串联电路的电压相位滞后于电流信号的相位,电感超前90度,电容滞后90度,电阻相位与电流同相。
3.1.2R,L,C串联路复功率的分析
串联地图的功率波形图如下:
图.四
3.1.3串联R、L、C的相量图
图.五
从上面的相量图中,可以清晰的看出各参量的相位关系,串联电路的端电压相位滞后于电流的相位,说明电路的总阻抗呈容性。
在以上图中可取的R=5,L=0.5,C=1,w=pi/3。
故有w*L-1/(w*C)<0,
即可知总阻抗的相角小于零,这也验证了上图绘制结果的正确。
3R,L,C时域波形图和向量图
3.1电阻稳态电路
2.1.1电阻R的正弦稳态电路分析:
图.六
如上图图.六所示,电压Ur的表达式为:
Ur=R*a*cos(w*t)
由此可知,对于电阻R,任一频率的正弦波电流信号通过它时,该电阻的端电压相位不会发生改变,即输入电流信号同相,而电压信号幅值的大小由电阻的阻值决定。
当电阻的阻值大于一时,该电压信号的幅值增大;电阻的阻值为一时,电压信号的幅值不发生改变;电阻的阻值小于一时,电压信号的幅值减小。
改变的倍数正好为电阻的阻值。
不过,一般情况下,电阻的阻值都要远大于一,电压信号的幅值都要比通过它的电流信号的幅值要强。
3.1.2现利用matlab绘制电阻的正弦稳态时域波形图
绘制波信图的程序设计如下分析所示:
在此我取正弦信号的角频率
,电阻的阻值
R=10,绘制波形图的时域范围为:
t=-20*pi:
pi/20:
20*pi;
利用函数plot来绘制波形,plot的绘图原理时,将分立点的函数值用直线连接起来,当绘图取样点的间隔很小的时候,绘制的曲线变得很平滑,与真实的波形图能很好的吻合。
故采用此函数绘制波形时取样要足够多。
利用title为所绘图赋标题,利用xlable,ylable等一系列的matlab函数进行标注。
绘制电流信号波形语句为:
plot(t,i)。
绘制电压信号的波形语句为:
plot(t,u)。
绘制功率信号的波形语句为:
plot(t,p)。
因此通过matlab绘制的电阻R时域波形图如下:
图.七
通过图.七时域波形图的比较,可以看出,两信号i,u的相位没有变化,但两信号的幅值发生了变化。
且变化的比例刚好为电阻的阻值。
3.1.3利用matlab绘制的电阻R的正弦稳态电路的相量图
matlab提供的函数compass可以绘制相量的相量图,其程序如下所示:
初始化i,u;
xl=compass([I,U]);
title(‘电阻正弦稳态相量图’);
set(xl,’linewidth’,3);
gtext(‘I’);gtext(‘u’);
因此通过电阻正弦稳态相量图为:
图.八
从上图可以清晰的看到电阻的正弦稳态电路其电流与电压同相位,但幅值不相同。
3.2电感稳态电路
3.2.1电感L的正弦稳态电路的分析
图.九
如上图图.九所示,对于纯电感而言,任一频率的正弦电流信号流经它时,电感的端电压都会发生改变,从而与电流不同相,而电压信号的幅值由电流信号频率和电感系数共同决定。
经过对此电路的分析,我们可以取流过电感的电流为:
,又为了简化,其幅值取单位长度。
则可以得到如下电压电流关系:
电流信号的相量为:
。
电阻两端的电压为
=
。
电压信号的相量为:
。
3.2.2现利用matlab绘制电感的正弦稳态时域波形图
在此我取定正弦信号的角频率
。
电感的系数L=2H。
则绘制波信图的程序设计如下分析所示:
绘制波形图的时域范围为:
t=-20*pi:
pi/20:
20*pi;
此时正弦稳态电路的波形图绘制与电阻的稳态电路有些不同,因为电感的特性会为计算映入复量,可以做如下处理;
利用函数abs取的电感输出电压的幅值:
u2=abs(ul);
利用函数angle取的电感输出电压的相角:
xiangjiao=angle(u1);
则得到电感两端的电压信号为:
u=u2*cos(w*t+xiangjiao)。
绘制电流信号波形语句为:
plot(t,i)。
绘制电压信号的波形语句为:
plot(t,u)。
绘制功率信号的波形语句为:
plot(t,p)。
同样可以用title,xlable,ylable等函数对图像进行处理。
因此通过matlab绘制的电感L的时域波形图如下:
图.十
由上图可知,两信号的幅值不同,相位也不同,两信号的幅值由电感系数和频率共同决定,而相位差却是恒定的90度,这个也可以从其向量图明显看出。
3.2.3利用matlab绘制的电感的正弦稳态电路的相量图
matlab提供的函数compass可以绘制相量的相量图,其程序如下所示:
xl=compass([I,U])
title(‘电感正弦稳态相量图’);
set(xl,’linewidth’,5);
gtext(‘I’);gtext(‘u’)
图.十一
从以上相量图中可以很清晰的看到电感两端的电压与流过电流的相位关系,幅值也不相同。
3.3电容稳态电路
2.3.1电容C的正弦稳态电路分析:
图.十二
如上图图.十二所示,对于电容,任一频率的正弦波电流信号通过它时,电容的端电压相位发生改变,与输入电流信号不同相,而电压信号幅值的大小由电容的大小和信号的频率决定。
由电路的分析知,我们可以取流过电容的电流为:
,为了简化分析,其幅值取单位长度。
则可以得到电流电压关系为:
电流信号的相量
。
电容两端的电压为
。
电压信号的相量为:
。
3.3.2利用matlab绘制电容的正弦稳态时域波形图
利用上文得出的电容两端的电压电流关系,我们可以很快的编出matlab程序,在此同样取定正弦信号的角频率
。
电容的系数C=0.5。
则绘制波信图的程序设计如下分析所示:
绘制波形图的时域范围为:
t=-20*pi:
pi/20:
20*pi;
此时正弦稳态电路的波形图绘制与电容的稳态电路基本相同。
利用函数abs取的电感输出电压的幅值:
u2=abs(ul);
利用函数angle取的电容输出电压的相角:
xiangjiao=angle(u1);
则得到电容两端的电压信号为:
u=u2*cos(w*t+xiangjiao)。
绘制电流信号波形语句为:
plot(t,i)。
绘制电压信号的波形语句为:
plot(t,u)。
绘制功率信号的波形语句为:
plot(p,t)。
同样我们可以用title,xlable,ylable等函数来对图像进行处理。
因此通过matlab绘制的电容C时域波形图如下:
图.十三
从以上图中可以看出,对于电容,其两端的电压相位滞后于流过它的电流90度,它们幅值的大小有电容的大小和正弦信号的频率决定。
3.3.3利用matlab绘制的电容的正弦稳态电路的相量图
matlab提供的函数compass可以绘制相量的相量图,其程序如下所示:
xl=compass([I,U])
title(‘电容正弦稳态相量图’);
set(xl,’linewidth’,1);
gtext(‘I’);gtext(‘u’)
图.十四
由以上相量图中可以很清晰的看到电容两端的电压与流过电流的相位关系,幅值也不相同。
4设计心得
通过本次课程设计,了解了matlab软件的强大功能,对于如何利用matlab软件进行线性电路的绘图分析有了一定的掌握。
在使用MATLAB语言编程时,主要通过矩阵式方程,将电路中各参数表达式表达出来,然后按照一定的格式,将函数表达式通过MATLAB语言写程序,这一步至关重要。
编完matlab程序后所需要做的就是利用MATLAB强大的数学处理能力和绘图能力,绘制出波形图和向量图。
在进行编程以及调试程序的过程中,慢慢的熟悉了matlab的各类函数,对于他们的用法有了一定的掌握,还有就是它们之间的区别,总而言之,第一,学会了基本操作,并且学会了简单的赋值语言和绘图语言。
其次,对与抽样定理有了更形象的理解,对于计算机处理连续信号的步骤的理解更加具体和形象。
验证了RLC串联电路的幅频特性,对于线性电路有了更深的理解。
由于matlab的功能如此之强大,范围运用如此之广,单单凭几天的学习只能窥其一角,不能做到透彻的理解,以后在自己的专业学习中肯定要使用到,并且要学会建模,编程。
因此自己应该在这次的基础强化训练之后多多花时间在上面,慢慢的摸索,熟练的操作MATLAB,为自己以后的专业学习奠定一个好的基础。
5参考文献
[1]《电路》邱关源罗先觉高等教育出版社.2009.
[2]张平.MATLAB基础与应用简明教程.北京航空航天大学出版社.
[3]《MATLAB实用教程》郑阿奇曹戈赵阳电子工业出版社.2005.
[4]《MATLAB7.0基础教程》孙祥徐流妹吴清清华大学出版社.1997
[5]陈杰.MATLAB宝典.电子工业出版社.
附录
1电阻的正弦稳态波形程序
t=-20*pi:
pi/20:
10*pi;
R=10;
i=cos(60*pi*t/180);
u=R*i;
p=u.*i;
subplot(3,1,1);
plot(t,p);
title('µç×èµÄÕýÏÒÎÈ̬²¨ÐÎͼ');
xlabel('time_sec');
ylabel('p(t)');
subplot(3,1,2);
plot(t,i)
xlabel('time_sec');
ylabel('i£¨t£©');
subplot(3,1,3);
plot(t,u);
xlabel('time_sec');
ylabel('u£¨t£©')
2电阻的相量图绘制程序
I=1*exp(0i);
U=10*exp(0i);
xl=compass([I,U]);
title('µç×èÕýÏÒÎÈ̬ÏàÁ¿Í¼');
set(xl,'linewidth',2)
gtext('I');
gtext('U')
3电感的正弦稳态波形绘制程序
t=-20*pi:
pi/20:
20*pi;
L=2;
w=60*pi/180;
i=cos(w*t);
ul=j*w*L;
u2=abs(ul);
xian