系统建模与仿真-第11次课-第五章(2)_第1页
系统建模与仿真-第11次课-第五章(2)_第2页
系统建模与仿真-第11次课-第五章(2)_第3页
系统建模与仿真-第11次课-第五章(2)_第4页
系统建模与仿真-第11次课-第五章(2)_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

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

文档简介

1、1,5.3 状态方程与传递函数的相互转换,5.3.1 由状态方程转变为传递函数,在已知线性定常系统状态空间表达式的情况下,先输入四个系数矩阵A、B、C和D,然后用MATLAB提供的ss( )函数,建立系统变量,即,sys = ss(A, B, C, D),接着调用tf( )函数,就可以极其方便地得出其传递函数形式,即,sys1 = tf(sys),2,例5.5 给定线性系统 ,试求取其 传递函数模型。,对这个问题,可编写如下的M文件exam55.m,A=2,1;-4,0; B=1,0; C=0,1; D=0; sys=ss(A,B,C,D); sys1=tf(sys),3,运行该文件后有 ex

2、am55 Transfer function: -4 - s2 - 2 s + 4,4,num,den = ss2tf(A, B, C, D),A=2,1;-4,0; B=1,0; C=0,1; D=0; n,d=ss2tf(A,B,C,D); Sys=tf(n,d),5,5.3.2 由传递函数转变为状态方程,在已知线性定常系统传递函数的情况下,先建立其传递函数模型,然后用MATLAB提供的ss( )函数,转变为状态空间模型,即,sys = tf(num, den); sys1 = ss(sys);,6,例5.6 给定线性系统 ,试写出其 状态空间表达式。,对这个问题,可编写如下的M文件exa

3、m56.m,num=12,12; den=3,1,11; sys=tf(num,den); sys1=ss(sys),7,运行该文件后有 exam56 a = x1 x2 x1 -0.3333 -1.833 x2 2 0 b = u1 x1 2 x2 0,8,c = x1 x2 y1 2 1 d = u1 y1 0 Continuous-time model.,9,A,B,C,D = tf2ss(num,den),num=12,12; den=3,1,11; A,B,C,D =tf2ss(num,den),z,p,k = ss2zp(A,B,C,D),还有:,A,B,C,D = zp2ss (

4、z,p,k),num,den = zp2tf (z,p,k),z,p,k = tf2zp(num,den),10,例 将系统,变换成状态空间表示。,H = tf( 2 3 0 ; 1 2 1 , 1 0.4 1 ; 1 0.4 1),11,5.3.3 由一般状态方程转变为规范型,调用格式如下:,G1=canon(G, type);,canonical form,12,举例,给定系统模型,试用MATLAB实现其向两种规范型的转换。,13,编写下列M文件:,A=-13,0,1; 2,-42,0; 0,-3,-21; b=0;1;2; c=1,0,2; d=0; G=ss(A,b,c,d); G1=

5、canon(G,companion); G2=canon(G,modal);,14,在MATLAB的工作空间中运行该文件,并键入G、G1、G2可得:, G a = x1 x2 x3 x1 -13 0 1 x2 2 -42 0 x3 0 -3 -21 b = u1 x1 0 x2 1 x3 2 c = x1 x2 x3 y1 1 0 2 d = u1 y1 0 Continuous-time model.,15, G1 a = x1 x2 x3 x1 0 -6.821e-013 -1.147e+004 x2 1 -2.842e-014 -1701 x3 0 1 -76 b = u1 x1 1 x

6、2 0 x3 0 c = x1 x2 x3 y1 4 -88 2071 d = u1 y1 0 Continuous-time model.,16, G2 a = x1 x2 x3 x1 -42.01 0 0 x2 0 -13.03 0 x3 0 0 -20.96 b = u1 x1 1.016 x2 -0.2395 x3 1.877 c = x1 x2 x3 y1 0.2778 -0.9455 1.86 d = u1 y1 0 Continuous-time model.,17,5.4 系统根轨迹及频域分析,5.4.1 二阶系统的根轨迹,考虑下面系统,开环模型,由开环模型来分析闭环系统的稳定

7、性。,闭环模型,18,取 , ,画出闭环系统极点关于开环增益 的变化曲线根轨迹。,闭环系统的特征多项式为:,求出极点:,19,wn=1; ksai=0.5; K=0:0.005:0.2; c1=(-ksai+sqrt(ksai2-K)*wn; c2=(-ksai-sqrt(ksai2-K)*wn; plot(real(c1),imag(c1),r-); hold on; plot(real(c2),imag(c2),b-); legend(c_1,c_2);,20,21,在开环模型中引入一个附加极点 ,其中,开环模型,取 , ,画出闭环系统极点关于开环增益 的变化曲线根轨迹。,22,wn=1;

8、 ksai=0.5; a=0.1,0.2,0.5,1; for i=1:1:length(a) G=tf(wn2,conv(1,2*ksai*wn,0,1,a(i); rlocus(G); hold on; end,23,24,根轨迹的绘制方法,R=rlocus(G,K),系统的LTI对象模型,用户选择的增益向量,根轨迹各个点构成的复数矩阵,R,K=rlocus(G),自动生成的增益向量,25,rlocus(G),在图形窗口中自动绘出系统的根轨迹,K,p=rlocfind(G),求取根轨迹上指定点处的开环增益及相应的闭环极点,26,例5.7,画出下述开环模型的根轨迹图,编制程序,a=conv(

9、1,1,1,2); b=conv(1,0,a); G=tf(1,b); rlocus(G); K,p=rlocfind(G);,27,程序运行结果,28,鼠标定位,Select a point in the graphics window selected_point = 0.4171 + 2.2484i,29,30,在MATLAB的工作空间中键入K和p, K K = 20.0636 p p = -3.8399 0.4199 + 2.2469i 0.4199 - 2.2469i ,31,5.4.2 线性系统的Nyquist图,由开环模型来分析闭环系统的稳定性。,32,nyquist(G),自动

10、画出Nyquist图,例5.8,画出下述开环系统模型的Nyquist图:,re,im,w=nyquist(G),33,a=conv(1,2,1,5); b=conv(1,1,a); G=tf(1000,b); nyquist(G);,编写文件,34,35,例5.9,画出下述开环系统模型的Nyquist图:,编写文件,G=tf(100*conv(1,5,1,5),conv(1,1,1,-1,9); nyquist(G);,36,37,5.4.3 线性系统的频域响应模型Bode图,Bode(G),自动画出bode图,例5.10,画出下述系统的bode图,38,编写文件,a=conv(1,1,1,2

11、); b=conv(1,0,a); G=tf(1,b); bode(G); grid;,39,40,5.5 时滞系统的近似线性模型 Pade近似模型,41,Pade近似系数表,42,np, dp=pade(Tau, n),例5.11,求下述时滞系统的近似传递函数,不妨取3阶Pade近似,编程如下:,43,a,b=pade(1,3); G=tf(a,conv(b,1,1);,运行结果,Transfer function: -s3 + 12 s2 - 60 s + 120 - s4 + 13 s3 + 72 s2 + 180 s + 120,44,时滞系统时域响应的数字仿真,时滞系统时域 响应的数

12、字仿真,运用Simulink仿真工具,通过pade近似 模型进行仿真,45,通过pade近似模型对时滞系统的时域响应进行数字仿真,例5.12,画出下述时滞系统的单位阶跃响应曲线,不妨取3阶Pade近似,编程如下:,46,a,b=pade(0.5,3); c=1,3,4; d=conv(1,1,1,2); e=conv(1,3,1,4); f=conv(d,e); G=tf(conv(c,a),conv(f,b); G step(G),47,运行结果,Transfer function: -s5 + 21 s4 - 172 s3 + 336 s2 + 1920 s + 3840 - s7 + 3

13、4 s6 + 515 s5 + 4250 s4 + 19224 s3 + 46176 s2 + 53760 s + 23040,48,49,例5.13,画出下述时滞系统在给定输入信号作用下的时域响应曲线。,50,不妨取3阶Pade近似,编程如下:,a,b=pade(0.8,3); c=1,5,3; d=conv(1,1,conv(1,4,1,7); G=tf(conv(c,a),conv(d,b); t=0:0.01:5; u=2*cos(3*t-0.75); y=lsim(G,u,t); plot(t,y,b-); hold on; plot(t,u,r-); legend(y,u);,51

14、,运行结果,52,为此,首先要将频域模型化成时域模型,,根据系统的传递函数,可得:,53,引入中间变量 :,则,54,于是,在假设零初始条件下取拉氏反变换,可得:,55,取下列状态变量:,于是很容易得出状态空间模型(时域模型):,56,可见,这个时滞出现在系统的输入端,而不是状态时滞。我们不必用改进的4阶龙格库塔法来求解。,57,只需用通常的ode45( )功能,编写右端函数:,function dx=ff_1(t,x) t_tao=t-0.8; if t_tao0 u=0; else u=2*cos(3*t_tao-0.75); end dx(1)=x(2); dx(2)=x(3); dx(

15、3)=-28*x(1)-39*x(2)-12*x(3)+u; dx=dx;,58,编写主程序:,t,x=ode45(ff_1,0,5,0,0,0); y=3*x(:,1)+5*x(:,2)+x(:,3); u=2*cos(3*t-0.75); plot(t,y,r-); hold on; plot(t,u,b-); legend(y,u);,59,运行结果,60,5.6 单变量线性系统时域响应的 MATLAB仿真,线性系统的时域仿真,求解微分方程组,61,在上面的程序中出现了线性系统的仿真函数,y=lsim(G,u,t);,长度相等,62,lsim(G,u,t);,直接画出输出响应曲线,例5.

16、14,假定开环系统的模型为,并且系统由单位负反馈结构组成,若系统的输入信号为 正弦信号 ,试画出闭环系统的暂态响应曲线。,63,64,编程如下:,a=conv(1,10,1,10,50); b=conv(1,0,0,a); G=tf(800,800,b); G_cl=feedback(G,1,-1); t=0:0.01:5; u=3*sin(5*t); lsim(G_cl,u,t);,65,运行结果,66,Y,T,X = LSIM(SYS,U,T,X0),对于状态空间模型的时域响应,有格式:,初始状态向量,省略时默认为零初始状态,67,例5.15,对下列系统的时域响应进行仿真,系统的输入信号为下图所示。,系统的初始状态为,68,输入信号 为脉冲式信号,69,编写下列MATLAB文件,以产生序列 u 和 t 。,t=0: 0.01: 12; for i=1: 1: length(t) if t(i)2 end end,70,接着编写(同一个M文件),A=-13,0,1; 2,-42,0; 0,-3,-21; b=0;1;2; c=1,0,2; d=0; G3=ss(A,b,c,d); x0=0.3,-2.1,0.57; y,t,x=Lsim(G3,u,t,x0);,71,接着编写(同一个M文件),subplot(2,2,1); plot(t,y,r-); lege

温馨提示

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

评论

0/150

提交评论