用matlab编程实现动态电路仿真

用matlab编程实现动态电路仿真

ID:34535446

大小:193.31 KB

页数:3页

时间:2019-03-07

用matlab编程实现动态电路仿真_第1页
用matlab编程实现动态电路仿真_第2页
用matlab编程实现动态电路仿真_第3页
资源描述:

《用matlab编程实现动态电路仿真》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第20卷第3期江西电力职业技术学院学报Vol.20,No.32007年9月JournalofJiangxiVocationalandTechnicalCollegeofElectricitySep.2007用MATLAB编程实现动态电路仿真王光亮(华北电力大学电气与电子工程学院,北京102206)摘要:利用Matlab强大的运算和绘图等功能,可以实现电路的动态过程实验的仿真。编写程序采用与手算一致的思维方式和步骤,理解掌握都较容易。结论表明,应用这种方法可以使复杂电路的仿真分析和计算变得非常快捷方便,从而为电路分析提供了一个有效

2、的辅助工具。关键词:MATLAB;电路仿真;动态过程;运算;绘图中图分类号:TM13∶TP312MA文献标识码:A文章编号:1673-0097(2007)03-0008-(03)0前言态响应,方程为:!#duC!《电路》是电类各专业的重要专业基础课,对后续专#i=-C#dui#Cdt#CC##=业课的学习至关重要。而电路仿真是《电路》教学过程中##dt-C#di##u=LL#的重要手段,形象直观,而且能够弥补硬件实验的不足。#L#diu+u-i×R#dt#LsCC"化简后为:"=MATLAB是最为流行的工程软件之一,具备计算、仿

3、真、##dtL#-u+u-u+u=0#[2~3]#sRCL#绘图等强大功能。运用该软件,我们可以方便地研究各##u=0#u=0#C(0)#C(0)#类系统问题,包括电路实验仿真。###i=0#C(0)#i=0$这里以电路的动态过程为例,说明其有关理论,推导$L(0)可见文献[1]。在实验中我们使用一方波发生器作为电源,连成在电源电压为0时,为零输入响应,电路图见图2:RLC串联电路,并通过示波器观察电容电压、电容电流(实际测量电阻电压)。在改变元件参数的条件下,可观察到欠阻尼振荡、过阻尼非振荡和临界状态三种情况的波形,方波电源的

4、好处是能使“零状态响应”和“零输入响应”交替出现,使动态过程连续出现,便于观测。实验电路图如图1所示。图2零输入响应方程为:!#duC#i=-C#C!#dt#duCiC##=-###diL#dtC#u=L##L##dt#diu-i×R##LCC"化简后为:"=#u-u+u=0#dtL图1实验电路图#RCL####u=-10#u=-10#C(0)#C(0)####下面用两种方法模拟实现这一过程:#i=0#i=0L(0)$C(0)##元件参数如下:#$u=10VC=1×1016CL=1H电源方波通过“零状态响应”和“零输入响应”的叠

5、加s用分段函数来实现:1直接列写微分方程法L(1)欠阻尼振荡R<2在电源电压不为零时,由于uC(0)=0,iL(0)=0,为零状%C收稿日期:2007-04-04作者简介:王光亮(1984-),男,山西平遥人,在读硕士生.第3期王光亮:用MATLAB编程实现动态电路仿真9在MATLAB中,只需将各方程依次抄进去,执行以下R取10000欧(临界为2000欧),程序与前者类似,程序:结果见图4:%欠阻尼振荡%dsolve为求解微分方程命令a=dsolve('Duc=ic/(-10^(-6))','1Dic=(10+uc-ic*500

6、)/1','uc(0)=0','ic(0)=0');b=dsolve('Duc=ic/(-10^(-6))','Dic=(uc-ic*500)/1','uc(0)=-10','ic(0)=0');%以下7行用于绘制电容电压曲线和电容电流曲线,下同figure%用于打开一新的图形窗口,以免相互覆盖,下同subplot(2,1,1);fplot('uc',[00.08],'r')grid;title('电容电压曲线(欠阻尼振荡)')text(0.082,-20.1,'时间t');text(-0.01,5.01,'电压u');subp

7、lot(2,1,2);fplot('ic',[00.08],'g')图4过阻尼振荡(微分方程法)grid;title('电容电流曲线(欠阻尼振荡)')text(0.082,-5.01*10^-3,'时间t');Ltext(-0.01,10.01*10^-3,'电流i');(3)临界状态:R=2!C其中用到的几个函数文件为:R取临界值2000欧,程序稍微做改动,结果图为:ic.mfunctiony=ic(t)t=rem(t,0.03);ift<0.015y=eval(evalin('base','a.ic'));%eval为字符串

8、演算函数,evalin('base','a.ic')实现跨空间变量传递,从工作空间读取a.ic,下同elsey=eval(evalin('base','b.ic'));enduc.mfunctiony=uc(t)t=rem(t,0.03);ift<0.015y=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。