基于MATLAB的一阶动态电路特性分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB课程设计基于MATLAB的一阶动态电路特性分析
学生姓名:叶红英
专业年级:10级自动化三班
指导老师:杨成慧
学院:电气工程学院
目录
摘要
1.绪论
2.MTLAB简介
2.1 MATLAB基本组成
2.2 MATLAB语言特点及功能
2.3 MATLAB通用命令
2.4 MATLAB编程流程
3基于matlab的电路分析及原理
3.1零状态响应定义及求解
3.2 RC串联电路的正弦激励的零状态响应
3.3RL并联电路的正弦激励的零状态响应
3.4 零状态响应分解为暂态分量与稳态分量之和学习心得
摘要
MATLAB是世界流行的优秀科技应用软件之一。

具有功能强大(数值计算、符号计算、图形生成、文本处理及多种专业工具箱)、界面友好,可二次开发等特点。

本文主要介绍基于MATLAB的一阶动态电路特性分析。

其基本内容是利用MATLAB软件完成RC串联电路、RL并联电路的正弦激励的零状态响应程序设计及波形分析。

通过本次课设熟悉了解MATLAB在电路中的应用,并将之前所学的理论知识和这次的设计及仿真结合起来,掌握了RCL一阶动态电路的设计和正确使用。

关键字:MATLAB;一阶动态电路。

1绪论
在科学技术飞速发展的今天,计算机正扮演着愈来愈重要的角色。

在进行科学研究与工程应用的过程中,科技人员往往会遇到大量繁重的数学运算和数值分析,传统的高级语言Basic、Fortran 及C 语言等虽然能在一定程度上减轻计算量,但它们均要求应用人员具有较强的编程能力和对算法有深入的研究。

另外,在运用这些高级语言进行计算结果的可视化分析及图形处理方面,对非计算机专业的普通用户来说,仍存在着一定的难度。

MATLAB 正是在这一应用要求背景下产生的数学类科技应用软件。

它具有的顶尖的数值计算功能、强大的图形可视化功能及简洁易学的“科学便捷式”工作环境和编程语言,从根本上满足了科技人员对工程数学计算的要求,并将科技人员从繁重的数学运算中解放出来,因而越来越受到广大科技工作者的普遍欢迎[1]。

MATLAB 是matrix 和laboratory 前三个字母的缩写,意思是“矩阵实验室”,是MathWorks 公司推出的数学类科技应用软件。

其Dos 版本(MATLAB 1.0)发行于1984 年,现已推出了Windows 版本(MATLAB 7.1)。

经过多年的不断发展与完善,MATLAB 已发展成为由MATLAB 语言、MATLAB 工作环境、MATLAB 图形处理系统、MATLAB 数学函数库和MATLAB 应用程序接口五大部分组成的集数值计算、图形处理、程序开发为一体的功能强大的系统。

MATLAB 由“主包”和三十多个扩展功能和应用学科性的工具箱(Toolboxs)组成。

MATLAB 语言是以矩阵计算为基础的程序设计语言,语法规则简单易学,用户不用花太多时间即可掌握其编程技巧。

其指令格式与教科书中的数学表达式非常相近,用MATLAB 编写程序尤如在便笺上列写公式和求解,因而被称为“便笺式”的编程语言。

另外,MATLAB 还具有功能丰富和完备的数学函数库及工具箱,大量繁杂的数学运算和分析可通过调用MATLAB 函数直接求解,大大提高了编程效率,其程序编译和执行速度远远超过了传统的C 和Fortran 语言,因而用MATLAB 编写程序,往往可以达到事半功倍的效果。

在图形处理方面,MATLAB 可以给数据以二维、三维乃至四维的直观表现,并在图形色彩、视角、品性等方面具有较强的渲染和控制能力,使科技人员对大量原始数据的分析变得轻松和得心应手。

正是由于 MATLAB 在数值计算及符号计算等方面的强大功能,使MATLAB一路领先,成为数学类科技应用软件中的佼佼者。

目前,MATLAB 已成为国际上公认的最优秀的科技应用软件。

MATLAB 的上述特点,使它深受工程技术人员及科技专家的欢迎,并很快成为应用学科计算机辅助分析、设计、仿真、教学等领域不可缺少的基础软件。

2 MATLAB简介
2.1 MATLAB基本组成
MATLAB主要由MATLAB主程序、Simulink动态仿真系统和MATLAB 工具箱三大部分组成。

其中MATLAB主程序包括MATLAB语言、工作环境、句柄图形、数学函数库和应用程序接口五个部分;工具箱则是MATLAB的基本语句编写的各种子程序集和函数库,用于解决某一方面的特定问题或实现某一类的新算法,是开放的,可以根据需要扩充。

2.2 MATLAB语言特点及功能
MATLAB功能丰富,可扩展性强。

MATLAB软件包括基本部分和专业扩展两大部分的功能。

基本部分包括:矩阵的运算和各种变换;代数和超越方程的求解;数据处理和傅立叶变换;数值部分等等,可以充分满足大学理工科本科的计算需要。

扩展部分称为工具箱。

它实际上是用MATLAB的基本语句编程的各种子程序集,用于解决某一方面的专门问题,或实现某一类的新算法。

被称为第四代编程语言的MATLAB最大的特点就是简洁开放的程序代码和直观实用的开发环境。

具体地说MATLAB主要有以下特点:
(1)库函数资源丰富
(2)语言精炼,代码灵活
(3)运算符多而灵活
(4)面向对象,控制功能优良
(5)程序设计自由
(6)图形功能强大
(7)程序的兼容性好
(8)源代码开放
(9)形形色色的工具箱
2.3 MATLAB通用命令
通用命令是在MATLAB命令窗口中直接键入并执行,指令及其功能如下。

Clear:清除内存中所有的或指定的变量和函数
cd :显示和改变当前工作目录
clc :擦除MATLAB工作窗口中所有显示的内容
clf :擦除MATLAB工作窗口中的图形
dir :列出当前或指定目录中的文件清单
disp :在运行中显示变量或文字内容
echo :控制运行的文字命令是否显示
hold :控制当前的图形窗口对象是否被刷新
Home:擦除命令窗口中的全部内容
pack :收集内存碎片以扩大内存空间
quit :关闭并退出MATLAB
type :显示所指定文件的全部内容
exit :退出MATLAB
2.4 MATLAB编程流程
在一般情况下,要对电路进行分析,首先要建立电路的模型。

然后把电路模型翻译成为相应的程序语言。

在Matlab中,分析电路可以按以下流程图进行:
图2.4.1 matlab电路仿真流程图
3基于MATLAB 的电路分析及原理
3.1零状态响应定义及求解
在零初始状态下,由初始时刻开始施加于线性系统或电路的输入信号所产生的响应。

在一些有初始储能的电路中,为求解方便,也可以假设电路无初始储能,求出其零状态响应,再和电路的零输入响应相加既得电路的全响应。

在求零状态响应时,一般可以先根据电路的元器件特性(电容电压、电感电流等),利用基尔霍夫定律列出电路的关系式,然后装换出电路的微分方程;利用微分方程写出系统的特征方程,利用其特征根从而可以求解出系统的自由响应方程的形式;零状态响应由部分自由响应和强迫响应组成,其自由响应部分与所求得得方程具有相同的形式,再加上所求的特接便得系统的零状态响应形式。

3.2 RC 串联电路的正弦激励的零状态响应
外施激励为正弦电压源()u sm s t U U ψω+=cos ,根
据KVL ,s c c
U u dt
du RC
=+,方程的通解为()θωτ
++=-t U Ae
u m t
c cos ,由非齐次方程的特解和对应
的齐次方程的通解两个分量组成,不难求得
()
1
2
+=
RC U U sm
m ω,ψψθ-=u ,其中RC ωψ=tan 。

再代入初始值,可求
得()
()ψψω-+-
=u sm
RC U A cos 1
2。

从而()()
()()
()t RC
u sm
u sm
c e
RC U t RC U t u 12
2
cos 1
cos 1
-
-+-
-++=
ψψωψψωω,
()()()()
()t RC
u sm
u sm r e
RC U RC t RC U RC t u 12
2cos 1
1
sin 1--++
-++-=ψψωψψωωω,
()()()()
()t RC
u sm
u sm
e
RC U C R t RC U C t i 1
2
2
2cos 1
1
sin 1
-
-++-++-=ψψωψψωωω。

图4.8.1即为RC 串联的正弦激励的零状态响应波形。

应用matlab 编程的基本步骤如下: 第一步:定参数,所用语句为
“Usm=2;w=pi;R =2;C =0.5;h=atan(w*C*R);z =sqrt((w*R*C)^2+1);%输入给定参数
第二步:确定坐标的起点、终点,间隔,其语句为“t=[0:0.01:10];”
第三步:用matlab 语言描述各式,其语句为 “;I =Ur/R;I1=Ur1/R;I2=Ur2/R %电流值
Us =Usm*cos(w*t +pi/2);Uc =Usm/z*cos(w*t +pi/2-h)-Usm/z*cos(pi/2-h)*exp(-t/(R*C));Uc1=-Usm/z*cos(pi/2-h)*exp(-t/(R*C));Uc2=Usm/z*cos(w*t +pi/2-h); Ur =1/(R*C)*Usm/z*cos(pi/2-h)*exp(-t/(R*C))-Usm*sin(h)*sin(w*t +pi/2-h); Ur1=1/(R*C)*Usm/z*cos(pi/2-h)*exp(-t/(R*C));Ur2=-Usm*sin(h)*sin(w*t +pi/2-h);
%电容和电阻电压值及其分解电压。

编写的程序为:
Usm=2;w=pi;R=2;C=0.5;h=atan(w*C*R);z=sqrt((w*R*C)^2+1); %输入给定参数
t=[0:0.01:10];
Us=Usm*cos(w*t+pi/2);
Uc=Usm/z*cos(w*t+pi/2-h)-Usm/z*cos(pi/2-h)*exp(-t/(R*C) );
Uc1=-Usm/z*cos(pi/2-h)*exp(-t/(R*C));
Uc2=Usm/z*cos(w*t+pi/2-h);
Ur=1/(R*C)*Usm/z*cos(pi/2-h)*exp(-t/(R*C))-Usm*sin(h)*s in(w*t+pi/2-h);
Ur1=1/(R*C)*Usm/z*cos(pi/2-h)*exp(-t/(R*C));
Ur2=-Usm*sin(h)*sin(w*t+pi/2-h);
I=Ur/R;I1=Ur1/R;I2=Ur2/R;
figure(1)
subplot(2,1,1);plot(t,Uc,t,Uc1,t,Uc2)
title('Uc(t)的波形')
subplot(2,1,2);plot(t,Ur,t,Ur1,t,Ur2)
title('Ur(t)的波形')
subplot(4,1,3);plot(t,I,t,I1,t,I2)
title('I(t)的波形')
subplot(4,1,4);plot(t,Us)
title('Us(t)的波形')
最后使用画图函数figure和subplot函数。

图3.2.1RC 串联的正弦激励的零状态响应波形
3.3RL 并联电路的正弦激励的零状态响应 外施激励为正弦电压源
()u sm s t I I ψω+=cos ,根据
KVL ,
s l l
I i dt
di R L =+,方程的通解为 ()θωτ
++=-
t I Ae
i m t
l cos ,
由非齐次方程的特解和对应的齐次方程的通解两个分量组成, 不难求得2
22R
L R
I I sm m +=ω,ψψθ-=u ,其中R
L
ωψ=
tan 。

再代入初始值,
可求得
()ψψω-+-
=u sm R
L R
I A cos 2
2
2。

从而()()()t L
R u sm u sm l e
R
L R
I t R
L R
I t i --+-
-++=
ψψωψψωωcos cos 2
222
22,
()())sin(cos 2
222
22ψψωωωψψω-++--+=-u sm
t L
R u sm r t R
L I L
e R
L R
I t i ,
()())sin(cos 2
222
222
ψψωωωψψω-++--+=
-u sm
t L
R u sm t R
L I LR
e
R
L R I t i ,
()()u sm s t I t i ψω+=cos 。

图4.9.1即为RL 并联的正弦激励的零状态响应波形。

应用matlab 编程的基本步骤如下: 第一步:定参数,所用语句为
“Ism=2;w=pi;R =2;L=0.5;h=atan(w*L/R);z =sqrt((w*L)^2+R ^2); %输入给定参数”
第二步:确定坐标的起点、终点,间隔,其语句为“t=[0:0.01:10];”
第三步:用matlab 语言描述各式,其语句为
Is =Ism*cos(w*t +pi/2);IL=Ism*R/z*cos(w*t +pi/2-h)-Ism*R/z*cos(pi/2-h)*exp(-t*R/L);IL1=Ism*R/z*cos(w*t +pi/2-h);IL2=-Ism*R/z*cos(pi/2-h)*exp(-t*R/L); Ir =R*Ism/z*cos(pi/2-h)*exp(-t*R/L)-w*L*Ism/z*sin(w*t +pi/2-h); Ir1=R*Ism/z*cos(pi/2-h)*exp(-t*R/L);Ir2=-w*L*Ism/z*sin(w*t +pi/2-h);
%电感和电阻电流值及其分解电流。

U =Ir*R;U1=Ir1*R;U2=Ir2*R;%电压值
编写的程序:
Ism=2;w=pi;R=2;L=0.5;h=atan(w*L/R);z=sqrt((w*L)^2+R^2); %输入给定参数
t=[0:0.01:10];
Is=Ism*cos(w*t+pi/2);
IL=Ism*R/z*cos(w*t+pi/2-h)-Ism*R/z*cos(pi/2-h)*exp(-t*R /L);
IL1=Ism*R/z*cos(w*t+pi/2-h);
IL2=-Ism*R/z*cos(pi/2-h)*exp(-t*R/L);
Ir=R*Ism/z*cos(pi/2-h)*exp(-t*R/L)-w*L*Ism/z*sin(w*t+pi /2-h);
Ir1=R*Ism/z*cos(pi/2-h)*exp(-t*R/L);
Ir2=-w*L*Ism/z*sin(w*t+pi/2-h);
U=Ir*R;U1=Ir1*R;U2=Ir2*R;
figure(1)
subplot(4,1,1);plot(t,IL,t,IL1,t,IL2)
title('IL(t)的波形')
subplot(4,1,2);plot(t,Ir,t,Ir1,t,Ir2)
title('Ir(t)的波形')
subplot(4,1,3);plot(t,U,t,U1,t,U2)
title('U(t)的波形')
subplot(4,1,4);plot(t,Is)
title('Is(t)的波形')
最后使用画图函数figure和subplot函数。

图3.3.1RL 并联的正弦激励的零状态响应波形
3.4零状态响应分解为暂态分量与稳态分量之和
因为()()
()()
()t RC
u sm
u sm
c e
RC U t RC U t u 12
2
cos 1
cos 1
--+-
-++=
ψψωψψωω,从
中可以看出前一个分量是一个稳态分量,不随时间增长而衰减,后一个分量是一个随时间增长而衰减的暂态分量。

同理,根据()t i l 的表达式
也可
以得出同
样的
结论,
()()()t L
R
u sm u sm l e
R
L R
I t R
L R
I t i --+-
-++=
ψψωψψωωcos cos 2
222
22,前一个分量
是稳态分量,后一个分量是暂态分量。

应用matlab 编程的基本步骤如下: 第一步:定参数,所用语句为
Usm=3;Ism=2;w=pi;R=2;C=0.5;L=0.5;h1=atan(w*R*C);h2=atan(w*L/R);
z1=sqrt((w*R*C)^2+1);z2=sqrt((w*L)^2+R^2);%输入给定参数第二步:确定坐标的起点、终点,间隔,其语句为“t=[0:0.01:10];”
第三步:用matlab语言描述各式,其语句为
IL=Ism*R/z2*cos(w*t+pi/2-h2)-Ism*R/z2*cos(pi/2-h2)*exp(-t*R/L);
IL1=Ism*R/z2*cos(w*t+pi/2-h2);IL2=-Ism*R/z2*cos(pi/2-h2)*exp(-t*R/L); %电流值
Uc=Usm/z1*cos(w*t+pi/2-h1)-Usm/z1*cos(pi/2-h1)*exp(-t/(R*C));
Uc1=-Usm/z1*cos(pi/2-h1)*exp(-t/(R*C));Uc2=Usm/z1*cos(w*t+pi/2-h1);%
电压值
编写的程序:
Usm=3;Ism=2;w=pi;R=2;C=0.5;L=0.5;h1=atan(w*R*C);h2=atan(w*L/R); %
输入给定参数
z1=sqrt((w*R*C)^2+1);z2=sqrt((w*L)^2+R^2);
t=[0:0.01:10];
Uc=Usm/z1*cos(w*t+pi/2-h1)-Usm/z1*cos(pi/2-h1)*exp(-t/(R*C));
Uc1=-Usm/z1*cos(pi/2-h1)*exp(-t/(R*C));
Uc2=Usm/z1*cos(w*t+pi/2-h1);
IL=Ism*R/z2*cos(w*t+pi/2-h2)-Ism*R/z2*cos(pi/2-h2)*exp(-t*R/L);
IL1=Ism*R/z2*cos(w*t+pi/2-h2);
IL2=-Ism*R/z2*cos(pi/2-h2)*exp(-t*R/L);
figure(1)
subplot(2,1,1);plot(t,Uc,t,Uc1,t,Uc2)
title('Uc(t)的正弦零状态响应=暂态分量+稳态分量')
subplot(2,1,2);plot(t,IL,t,IL1,t,IL2)
title('IL(t)的正弦零状态响应=暂态分量+稳态分量')
最后使用画图函数figure和subplot函数。

得到其波形如下:
图3.4.1()t u c 和()t i l 分解为暂态分量和稳态分量的波形图
学习心得
在本次课程设计中,我学会了很多,例如会强迫自己动手,整合思路,查找资料,为己所用。

平时所学的理论知识只是基础,真正应用软件做设计的时候才能知道自己的局限性。

一味停留在老师的教学中自己能做的实在是少之又少。

所以就应该学会利用资料,首先就是互联网,然后是图书馆。

由于本次课设的时间限制,最合理的资料应该是互联网,快速,方便。

搜集到资料以后不能照抄,应该仔细阅读,读懂,然后根据自己的要求改变参数。

总之,只有知道怎么自己学习,才能知道怎么自己动手。

通过本次课程设计,我进一步了解到MATLAB软件的强大和应用性广泛。

为自己以后的学习提供了更多的方便,当然我要更加熟练的掌握这个软件。

参考文献
[1] 刘国良,杨成慧.MATLAB程序设计基础教程. 西安:电子科技
大学出版社,2012
[2]邱关源.《电路(下册)》[M].高等教育出版社,1998
[3] 陈怀琛.《MATLAB及其在理工课程中的应用指南》[M].西安电子科技大学出版社,2000
[4]吴锡龙.《电路分析》.高等教育出版社,2004
[5]杨传谱,黄冠斌.《电路理论学习指导书》[M].华中理工大学出版社,1998
[6]薛定宇.《控制系统计算机辅助设计——MATLAB语言及应用》[M].
清华大学出版社,1996。

相关文档
最新文档