计算机辅助电路分析(1)_第1页
计算机辅助电路分析(1)_第2页
计算机辅助电路分析(1)_第3页
计算机辅助电路分析(1)_第4页
计算机辅助电路分析(1)_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机辅助电路分析

电气工程学院2001级本科学生教师:田海燕2003年4月21日电路原理:实际电路-电路模型-分析电路如何实现电路分析自动化、规模化-CAA

什么是计算机辅助电路分析?ComputerAidedAnalysis

(CAA)CAA的优越性1、最低程度:手工写出电路方程,再用计算机求解2、中等程度:将电路的拓扑结构及元件的参数值转化为计算机的输入数据,由计算机形成电路方程并解之。3、高等程度(即自动分析方法):在计算机上作图,由计算机识图、形成电路方程并解之,显示计算结果和波形。教学内容理论教学:(8学时)了解列写线性电路、非线性电路方程的主要方法,介绍MATLAB的运行环境和基本指令,EWB

和Pspice

的使用方法。实践教学:(28学时)1.MATLAB编程方法和基于MATLAB的电路分析;2.运用ElectronicsWorkbench进行电路输入和仿真;3.运用PSpice仿真进行电路参数输入和仿真。教学软件

MATLAB5.3或MATLAB6.1Multisim2001

(ElectronicsWorkbench

)Pspice9.1理论教学内容线性电路的计算机分析基于MATLAB的电路分析基于ElectronicsWorkbench(EWB)的电路分析基于PSpice的电路分析课程要求了解电路的计算机辅助分析工具的发展现状,掌握电路的计算机分析方法,学会使用MATLAB编程并分析电路,初步掌握ElectronicsWorkbench、Pspice电路分析工具软件的使用方法,具备初步依靠工具软件的解题技能。步骤:1、将实际电路元件模型化,即将实际电路表示为若干理想电路元件的组合;2、输入电路图和元件参数;3、识别图形,形成电路方程;4、求电路方程数值解;5、输出结果(数值解或波形)第一部分

线性电路的计算机分析实际电路元件的模型化

实际电路器件很多,但这些实际电路的模型中所包含的理想电路元件不外乎下列10种:(1)、电阻R;(2)、电感L;(3)、电容C;(4)、电压源Ug;(5)、电流源Ig;(6)、电流控制电流源(CCCS);(7)、电压控制电流源(VCCS);(8)、电流控制电压源(CCVS);(9)、电压控制电压源(VCVS);(10)、互感M。在进行线性电路分析时,只须考虑上述10种理想电路元件电路方程的形成(1)节点分析法

用途最为广泛:时域、频域、暂态、稳态。(1)、大多数电路的节点数少于回路;(2)、采用节点法,只要选定参考节点,则所有节点的电压就唯一的确定了,节点方程也容易用计算机来形成。如用回路法,首先必须选出一组独立回路,如用基本回路组,则必须选择一个树,树的选择可以由计算机完成,但比节点法要复杂。

电路方程的形成(2)电网络方程一般以节点电位、支路电压或支路电流作为变量,无论是频域分析还是时域分析,稳态分析还是暂态分析,方程必须满足以下两个基本约束条件:(1)电路的支路电压和支路电流必须分别遵循基尔霍夫电压定律(KVL)和基尔霍夫电流定律(KCL)。(2)电路的支路电压和支路电流必须遵循VCR定律。

第二部分

基于MATLAB的电路分析MATLAB的发展历程和影响力MATLAB的指令窗口简介MATLAB

常用函数(指令)应用

MATLAB

求解电路MATLAB的发展历程和影响力MATrixLABoratory-----MathWork公司MATLAB:数值计算,符号计算。具有世界一流水平的数值计算函数库。

Mathmatica:

符号计算

Maple:符号计算

Mathcad:

计算,图形,文字处理。应用代数,数理统计,自动控制,数字信号处理,模拟与数字通信,时间序列分析,动态系统仿真等领域MATLAB指令窗简介工具条菜单选项[File]:Open,ShowWorkspace,SetPath[Edit]:Cut,Copy,Paste,ClearSession[View]:CommandHistory,CommandDirectory,Workspace[Window]:[Help]:Demos操作实录指令diary和

M脚本文件diarydiaryon(diary)diaryname.datdiaryoff(diary)M文件直接在指令窗中输入指令烦琐,可设计M脚本文件“.m”应用

MATLAB求解电路例3-1-1解:节点方程(1)(2)(3)化简:写出方程的矩阵形式:%YistheadmittancematrixandIisthecurrentvector%initializematrixyandvectorIusingYV=IformY=[0.15-0.1-0.05-0.10.145-0.025-0.05-0.0250.075]I=[5;0;2];%solveforthevoltagefprintf('NodalvoltagesV1,V2andV3are\n')v=inv(Y)*IMATLAB程序参见M3_1_1.m例3-1-2求图所示电路节点电压

解:

列节点方程:对包含节点2和节点3的广义节点列方程得:

节点1:

节点2:

节点4:

(1)

(2)

(3)

(4)

写出方程的矩阵形式:MATLAB程序参见M3_1_2.m.%Yistheadmittancematrix%Iisthecurrentvector%initializethematrixyandvectorIusingYV=IY=[0.75-0.20-0.5;-51-15;-0.20.45

0.166666667

-0.0666666667;0001];I=[5;0;0;10];%solvefornodalvoltagefprintf('NodalvoltagesV1,V2,V3,V4are\n')V=inv(Y)*I一阶电路的阶跃响应

例3-2-1下图中,Vs=10V,已知,C=10uF,分别画出R=0.1kΩ,R=1kΩ,R=10kΩ时的Uc(t)波形。

解:

MATLAB程序参见M3_2_1.mc=10e-6;r1=1e3;tau1=c*r1;t=0:0.001:0.09;v1=10*(1-exp(-t/tau1));r2=10e3;tau2=c*r2;v2=10*(1-exp(-t/tau2));r3=0.1e3;tau3=c*r3;v3=10*(1-exp(-t/tau3));plot(t,v1,'+',t,v2,'o',t,v3,’*’)axis([00.1012])title('Chargingofacapacitorwiththreetimeconstants')xlabel('Time,s')ylabel('Voltageacrosscapacitor')text(0.03,5.0,'+forR=1Kilohms')text(0.03,6.0,'oforR=10Kilohms')text(0.03,7.0,'*forR=0.1Kilohms')例3-2-3图中开关已经在位置a很长时间,在t=0时,开关移到b,计算:

(1)

t≥0+时的i,V1,V2。

(2)

在t=0时,存储在电容中的能量。

(3)

如果开关在位置b很长时间,存储在电路中的能量和消耗在电阻中的总能量。

解:应用三要素法求解电路:初始值:稳态值:时间常数:(MATLAB程序参见

M3_2_3.m)C1=2e-6;C2=8e-6;Ceq=C1*C2/(C1+C2);R1=4.7e3;R2=5e3;T=R2*Ceq;V=75;Ii=V/R2;If=0;t=0:T/1000:5*T;i=If+(Ii-If)*exp(-t/T);%trapzcomputesdefiniteintegral%of'i'overvectorlength't'A=trapz(t,i);vC2=A/C2*(1-exp(-t/T));vC1=-A/C1*(1-exp(-t/T))+V;Subplot(211),plot(t,i*1000),grid,text(0.1,0.72,'CapaciorCurrent','sc'),title(‘Example3-2-3')xlabel('Time(s)')ylabel('mAmps')axis([0,5*T,0,1000*max(i)]),Subplot(212),plot(t,vC1,t,vC2),grid,text(0.1,0.84,'vC1-Voltage','sc'),text(0.05,0.2,'vC2-Voltage','sc'),xlabel('Time(s)')ylabel('Volts')axis([0,5*T,0,max(vC1)]),Capacitor1V=vC1(5000)Capacitor2V=vC2(5000)InitialEnergymJ=1000*C1*V^2/2FinalEnergymJ=1000*(C1*vC1(5000)^2/2+C2*vC2(5000)^2/2)求解二阶电路的微分方程例3-3-1已知Vs=0V,L=10H,R=400Ω,C=100uF,i(0+)=4A,A/s,求i(t)。

解:列微分方程:

代入参数:

特征方程:

MATLAB指令:

p=[1401000];lambda=roots(p)lambda=-20.0000+24.4949i-20.0000-24.4949i运行结果:

微分方程通解:再由初始条件i(0+)=4A,i’(0+)=15A/s得:

MATLAB指令求解:

A=[1,1;-20+24.4949i,-20-24.4949i]B=[4;15]A1A2=inv(A)*B运行结果:

A1=2.000-1.9392i,A2=2.000+1.9392i电流解为:(t≥0+)A例3-4-3,

电路如图,求i(t),V(t)解:用回路分析法列方程MATLAB程序M3_4_3

Z=[10-7.5*j-6+5*j;-6+5*j16+3*j];b=-2*exp(j*pi*75/180);V=[5;b];%voltagevectorincolumnformI=inv(Z)*V;%solveforloopcurrentsi1=I(1);i2=I(2);Vc=-10*j*(i1-i2);i1_abs=abs(I(1));i1_ang=angle(I(1))*180/pi;Vc_abs=abs(Vc);Vc_ang=angle(Vc)*180/pi;%resultsareprintedfprintf('phasorcurrenti1,magnitude:%f\nphasorcurrenti1,angleindegree:%f\n',i1_abs,i1_ang)fprintf('phasorvoltageVc,magnitude:%f\nphasorvoltageVc,angleindegree:%f\n',Vc_abs,Vc_ang)phasorcurrenti1,magnitude:0.387710

phasorcurrenti1,angleindegree:15.019255

phasorvoltageVc,magnitude:4.218263

phasorvoltageVc,angleindegree:-40.861691

运行结果:

MATLAB函数

roots,polyval,residueMATLAB函数roots可用来求网络函数的极点和零点polyval函数可用于求网络函数值

Residue函数可用于拉氏反变化的部分分式展开rootsP是多项式系数形成的行向量,多项式由一个行向量表示,它的系数按降序排列。r为多项式为0的根,是一个列向量。roots求多项式为0的根。r=roots(p)例如,有多项式,在MATLAB命令行按如下步骤计算其根。p=[192315]r=roots(p)得结果:r=-1.0000-3.0000-5.0000

polyvalpolyval用于求多项式值,它的表达形式是

polyval(p,x)。p是多项式系数行向量,polyval(p,x)返回多项式在x的值。

例:求在

x=2时的值,可输入如下命令:p=[1-3-415];polyval(p,2)ans=3

residueresidue函数可用于拉氏反变化的部分分式展开

给定B(s)、A(s),用resi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论