哈工大计算机仿真实验_第1页
哈工大计算机仿真实验_第2页
哈工大计算机仿真实验_第3页
哈工大计算机仿真实验_第4页
哈工大计算机仿真实验_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、仿真技术与应用实验报告实验1 利用替换法构建系统仿真模型实验1.1实验目的(1)熟悉MATLAB的工作环境;(2)掌握MATLAB的 .M文件编写规则,并在命令窗口调试和运行程序;推荐精选(3)掌握利用替换法构造系统离散模型的方法,并对仿真结果进行分析。1.2 实验内容系统电路如图1.1所示。电路元件参数:直流电压源E=1V,电阻R=10,电感L=0.01H,电容C=1F。电路元件初始值:电感电流iL0=0A,电容电压uC0=0V。系统输出量为电容电压uC(t)。连续系统输出响应uC(t)的解析解为:uCt=Us(1-e-atcost+sint) (1-1)其中,=R2L,=1LC-(R2L)

2、2, 1.3实验原理从数学角度看,当由连续系统的S域模型构建其相似的离散系统z域模型时,有如下映射关系:z=eTs (1-2)反之,则有:s=1Tlnz (1-3)式中T为离散系统的离散时间间隔,或称系统采样周期。式(1-2)和(1-3)为非线性映射关系。在工程中很难应用。为了建立其线性映射关系,需对式(1-2)和式(1-32)进行线性化处理。简单替换法和双线性替换法是采用不同方法对式(1-2)和(1-3)的线性化结果。简单替换法的映射关系为:s=(z-1)/T 或 z=1+Ts (1-4)双线性替换法映射关系为:s=2(Z-1)T(Z+1) 或z=1+Ts/21-Ts/2 (1-5)推荐精选

3、式(1-4)和(1-5)为近似关系式。为保证其映射结果具有足够的精度,要求Ts足够小。采样周期T值的选择应根据系统中信号频率的高低确定。系统频率越高,选择的T值应越小。1.4 实验步骤1.4.1 建立系统数学模型根据图1.1所示电路,利用电路原理建立系统的传递函数模型:Gs=UC(S)E(s)=1LCs2+RCs+1 (1-6)1.4.2 建立系统离散数学模型用简单替换法得到的与图1.1系统相似的离散系统传递函数为:Gz=UC(z)E(z)=1LCT-1Z-12+RCT-1Z-1+1=1az2+bz+c (1-7)式中,T为离散系统采样周期由离散系统的传递函数式(1-7)可以建立与图1.1系统

4、相似的离散系统差分方程:uCk+2=1aEk-buCk+1-cuCk (1-8)用双线性替换法得到的与图1.1系统相似的离散系统传递函数为:Gz=UC(Z)E(Z)=1LC(2(Z-1)T(Z+1) )2+RC2Z-1TZ+1 +1 (1-9)由离散系统的传递函数式(1-9)可以建立与图1.1系统相似的离散系统差分方程:uCk+2=1aek+2+2ek+1+ek-buCk+1-cuCk (1-10)1.4.3 编写Matlab的M文件程序利用简单替换法和双线性替换法建立的离散系统差分方程编写系统仿真程序。Matlab的M函数编写及运行见附录。编写的M文件程序应能够满足实验要求。1.5 实验结果

5、与分析推荐精选以上是利用简单替换法和双线性替换法仿真得出的实验数据,对比以上的结果,可以知道:难易性:替换法是对于给定的函数G(s),找到S 域到Z 域的特殊映射关系,通过一些基本变换以及简化处理将G(s)变换成G(z)。其中简单替换法的变换公式要比双线性替换法的简单得多。由他们推导出的离散模型难易性也相差很多,简单替换法只需要输入量在U(k)处的值,而双线性则需u(k)u(k+1)u(k+2),所以从难易性来说简单替换法交好。模型的稳定性:由图可知利用替换法中的简单替换法的稳定性最低,随T增大随即发散不稳定,因此而双线性替换法结果稳定。模型的精度:在T=2.0e-6时,比较简单替换法和双线性

6、替换法相对于准确解,可以得知虽然结果都稳定,双线性替换法更加精确。离散时间间隔:可以看到当离散时间间隔较大时,简单替换法已经不再收敛,出现很大的的波动。由此可以看出,双线性替换法可以有较大的离散时间间隔的选择法范围。综上所述,当系统简单时应优先选择双线性替换法,若系统较复杂在满足稳推荐精选定性及精度的条件下可以选择简单替换法。以上是利用双线性替换法仿真得出的实验数据。附录:实验一代码:1.1 function =RLC(R,L,C,Us,t,h) R=10; L=0.01; C=1.0e-6; Us=1;%E t=0.02;%仿真时间 T = 1.0e-6;%采样周期 NNN = fix(t/

7、T);% fix-取整数,计算离散时间序列长度%- 解析解 -% tad = R/(2*L); W=sqrt(1/(L*C)-(R/(2*L)2); for k=1:1:NNN uc(k) = Us*(1-exp(-tad*(k-1)*T) * ( cos(W*(k-1)*T) + sin(W*(k-1)*T)*tad/W);推荐精选 end T1=1/T; a = L*C*T12; % 差分方程系数计算 b = R*C*T1-2*L*C*T12; % 差分方程系数计算 c = 1+L*C*T12-R*C*T1; % 差分方程系数计算 uc1(1) = 0; % 差分方程初值 uc1(2) =

8、 0; % 差分方程初值 for k=3:1:NNN % k=1,k=0为差分方程的初值 uc1(k) = (Us-b*uc1(k-1)-c*uc1(k-2)/a;%简单替换法% enda1= L*C*4*T12; b1=R*C*2*T1; a2=a1+b1+1; % 差分方程系数计算b2=2-2*a1; % 差分方程系数计算c2=a1-b1+1; % 差分方程系数计算uc2(1)=0; % 差分方程初值uc2(2)=0; % 差分方程初值for k=3:1:NNN uc2(k)=(4*Us-b2*uc2(k-1)-c2*uc2(k-2)/a2; % us(n+2)=us(n+1)=us(n)

9、endfor k=1:1:NNNtt(k) = k*T;endsubplot (321)plot(tt,uc,b,tt,uc2,k,tt,uc1,r)title(采样时间 T = 1.0e-6)T = 2.0e-6;%采样周期 T1=1/T; a = L*C*T12; % 差分方程系数计算 b = R*C*T1-2*L*C*T12; % 差分方程系数计算 c = 1+L*C*T12-R*C*T1; % 差分方程系数计算 uc1(1) = 0; % 差分方程初值 uc1(2) = 0; % 差分方程初值 for k=3:1:NNN % k=1,k=0为差分方程的初值 uc1(k) = (Us-b

10、*uc1(k-1)-c*uc1(k-2)/a; enda1= L*C*4*T12; b1=R*C*2*T1; a2=a1+b1+1; % 差分方程系数计算b2=2-2*a1; % 差分方程系数计算c2=a1-b1+1; % 差分方程系数计算uc2(1)=0; % 差分方程初值uc2(2)=0; % 差分方程初值for k=3:1:NNN推荐精选 uc2(k)=(4*Us-b2*uc2(k-1)-c2*uc2(k-2)/a2; % us(n+2)=us(n+1)=us(n)endfor k=1:1:NNNtt(k) = k*T;endsubplot (323),plot(tt,uc,b,tt,u

11、c2,k,tt,uc1,r),title(采样时间 T = 2.0e-6),T = 5.0e-6;%采样周期 T1=1/T; a = L*C*T12; % 差分方程系数计算 b = R*C*T1-2*L*C*T12; % 差分方程系数计算 c = 1+L*C*T12-R*C*T1; % 差分方程系数计算 uc1(1) = 0; % 差分方程初值 uc1(2) = 0; % 差分方程初值 for k=3:1:NNN % k=1,k=0为差分方程的初值 uc1(k) = (Us-b*uc1(k-1)-c*uc1(k-2)/a; enda1= L*C*4*T12; b1=R*C*2*T1; a2=a

12、1+b1+1; % 差分方程系数计算b2=2-2*a1; % 差分方程系数计算c2=a1-b1+1; % 差分方程系数计算uc2(1)=0; % 差分方程初值uc2(2)=0; % 差分方程初值for k=3:1:NNN uc2(k)=(4*Us-b2*uc2(k-1)-c2*uc2(k-2)/a2; % us(n+2)=us(n+1)=us(n)endfor k=1:1:NNNtt(k) = k*T;endsubplot (324),plot(tt,uc,b,tt,uc2,k,tt,uc1,r)title(采样时间 T = 5.0e-6)T = 1.0e-5;%采样周期 T1=1/T; a

13、= L*C*T12; % 差分方程系数计算 b = R*C*T1-2*L*C*T12; % 差分方程系数计算 c = 1+L*C*T12-R*C*T1; % 差分方程系数计算 uc1(1) = 0; % 差分方程初值 uc1(2) = 0; % 差分方程初值 for k=3:1:NNN % k=1,k=0为差分方程的初值 uc1(k) = (Us-b*uc1(k-1)-c*uc1(k-2)/a; end推荐精选a1= L*C*4*T12; b1=R*C*2*T1; a2=a1+b1+1; % 差分方程系数计算b2=2-2*a1; % 差分方程系数计算c2=a1-b1+1; % 差分方程系数计算

14、uc2(1)=0; % 差分方程初值uc2(2)=0; % 差分方程初值for k=3:1:NNN uc2(k)=(4*Us-b2*uc2(k-1)-c2*uc2(k-2)/a2; % us(n+2)=us(n+1)=us(n)endfor k=1:1:NNNtt(k) = k*T;endsubplot (325),plot(tt,uc,b,tt,uc2,k,tt,uc1,r)title(采样时间 T = 1.0e-5)T = 2.0e-5;%采样周期 T1=1/T; a = L*C*T12; % 差分方程系数计算 b = R*C*T1-2*L*C*T12; % 差分方程系数计算 c = 1+

15、L*C*T12-R*C*T1; % 差分方程系数计算 uc1(1) = 0; % 差分方程初值 uc1(2) = 0; % 差分方程初值 for k=3:1:NNN % k=1,k=0为差分方程的初值 uc1(k) = (Us-b*uc1(k-1)-c*uc1(k-2)/a; enda1= L*C*4*T12; b1=R*C*2*T1; a2=a1+b1+1; % 差分方程系数计算b2=2-2*a1; % 差分方程系数计算c2=a1-b1+1; % 差分方程系数计算uc2(1)=0; % 差分方程初值uc2(2)=0; % 差分方程初值for k=3:1:NNN uc2(k)=(4*Us-b2

16、*uc2(k-1)-c2*uc2(k-2)/a2; % us(n+2)=us(n+1)=us(n)endfor k=1:1:NNNtt(k) = k*T;endsubplot (326),plot(tt,uc,b,tt,uc2,k,tt,uc1,r)title(采样时间 T = 2.0e-5)a=axes(visible,off);hold on;推荐精选plot(0,0,b);plot(0,0,k);plot(0,0,r);legend(解析解,双线性替换法,简单替换法,location,northeast)1.2function =RLC(R,L,C,Us,t,h) %- 系统及仿真参数

17、-% R=10; L=0.01; C=1.0e-6; Us=1; t=0.02;%仿真时间 T=5.0e-5;%采样周期 NNN = fix(t/T);% fix-取整数,计算离散时间序列长度 %- 解析解 - tad = R/(2*L); W=sqrt(1/(L*C)-(R/(2*L)2); for k=1:1:NNN uc(k) = Us*(1-exp(-tad*(k-1)*T) * ( cos(W*(k-1)*T) + sin(W*(k-1)*T)*tad/W); end T1=1/T;a1= L*C*4*T12; b1=R*C*2*T1; a2=a1+b1+1; % 差分方程系数计算b

18、2=2-2*a1; % 差分方程系数计算c2=a1-b1+1; % 差分方程系数计算uc2(1)=0; % 差分方程初值uc2(2)=0; % 差分方程初值for k=3:1:NNN uc2(k)=(4*Us-b2*uc2(k-1)-c2*uc2(k-2)/a2; % us(n+2)=us(n+1)=us(n)endfor k=1:1:NNNtt(k) = k*T;end%-输出曲线 -%subplot (321)plot(tt,uc,b,tt,uc2,r)title(t=0.02 T=5.0e-5)% t=0.02;%仿真时间 T=2.0e-4;%采样周期推荐精选 NNN = fix(t/T

19、);% fix-取整数,计算离散时间序列长度 %- 解析解 - tad = R/(2*L); W=sqrt(1/(L*C)-(R/(2*L)2); for k=1:1:NNN uc(k) = Us*(1-exp(-tad*(k-1)*T) * ( cos(W*(k-1)*T) + sin(W*(k-1)*T)*tad/W); end T1=1/T;a1= L*C*4*T12; b1=R*C*2*T1; a2=a1+b1+1; % 差分方程系数计算b2=2-2*a1; % 差分方程系数计算c2=a1-b1+1; % 差分方程系数计算uc2(1)=0; % 差分方程初值uc2(2)=0; % 差分

20、方程初值for k=3:1:NNN uc2(k)=(4*Us-b2*uc2(k-1)-c2*uc2(k-2)/a2; % us(n+2)=us(n+1)=us(n)endfor k=1:1:NNNtt(k) = k*T;end%-输出曲线 -%subplot (323)plot(tt,uc,b,tt,uc2,r)title(t=0.02 T=2.0e-4)% t=0.02;%仿真时间 T=5.0e-4;%采样周期 NNN = fix(t/T);% fix-取整数,计算离散时间序列长度 %- 解析解 - tad = R/(2*L); W=sqrt(1/(L*C)-(R/(2*L)2); for

21、k=1:1:NNN uc(k) = Us*(1-exp(-tad*(k-1)*T) * ( cos(W*(k-1)*T) + sin(W*(k-1)*T)*tad/W); end T1=1/T;a1= L*C*4*T12; b1=R*C*2*T1; a2=a1+b1+1; % 差分方程系数计算b2=2-2*a1; % 差分方程系数计算c2=a1-b1+1; % 差分方程系数计算推荐精选uc2(1)=0; % 差分方程初值uc2(2)=0; % 差分方程初值for k=3:1:NNN uc2(k)=(4*Us-b2*uc2(k-1)-c2*uc2(k-2)/a2; % us(n+2)=us(n+

22、1)=us(n)endfor k=1:1:NNNtt(k) = k*T;end%-输出曲线 -%subplot (324)plot(tt,uc,b,tt,uc2,r)title(t=0.02 T=5.0e-4)% t=0.2;%仿真时间 T=2.0e-3;%采样周期 NNN = fix(t/T);% fix-取整数,计算离散时间序列长度 %- 解析解 - tad = R/(2*L); W=sqrt(1/(L*C)-(R/(2*L)2); for k=1:1:NNN uc(k) = Us*(1-exp(-tad*(k-1)*T) * ( cos(W*(k-1)*T) + sin(W*(k-1)*T)*tad/W); end T1=1/T;a1= L*C*4*T12; b1=R*C*2*T1; a2=a1+b1+1; % 差分方程系数计算b2=2-2*a1; % 差分方程系数计算c2=a1-b1+1; % 差分方程系数计算uc2(1)=0; % 差分方程初值uc2(2)=0; % 差分方程初值for k=3:1:NNN uc2(k)=(4*Us-b2*uc2(k-1)-c2*uc2(k-2)/a2; % us(

温馨提示

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

评论

0/150

提交评论