实验 26 连续系统状态方程的数值解

14
1 实实 26 实实实 实实实实实实实实

Upload: theola

Post on 17-Jan-2016

109 views

Category:

Documents


19 download

DESCRIPTION

实验 26 连续系统状态方程的数值解. 实验目的. 学习使用 Matlab 的各种系统模型转换函数,加深对系统模型几种形式的理解。 学习用 Matlab 计算连续系统状态方程的数值方法。加深对连续系统状态方程的的理解,对系统零输入响应、零状态响应的理解。. 实验原理与说明. (一) 系统模型的相互转换 线性非时变系统的系统模型有 : 状态空间型 系统函数的多项式型 系统函数的零极点型 极点留数型. 它们都能描述系统的特性,但各有不同的应用场合。 对于线性非时变系统,这几种模型是可以互相转换 的。用 Matlab 就可以实现这一转换。. 实验原理与说明. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 实验 26  连续系统状态方程的数值解

1

实验 26 连续系统状态方程的数值解

Page 2: 实验 26  连续系统状态方程的数值解

2

1.1. 学习使用学习使用 MatlabMatlab 的各种系统模型转换的各种系统模型转换函数,加深对系统模型几种形式的理解。函数,加深对系统模型几种形式的理解。

2.2. 学习用学习用 MatlabMatlab 计算连续系统状态方程计算连续系统状态方程的数值方法。加深对连续系统状态方程的数值方法。加深对连续系统状态方程的的理解,对系统零输入响应、零状态的的理解,对系统零输入响应、零状态响应的理解。 响应的理解。

实验目的实验目的

Page 3: 实验 26  连续系统状态方程的数值解

3

实验原理与说明 实验原理与说明

(一)系统模型的相互转换 线性非时变系统的系统模型有 :

状态空间型

系统函数的多项式型

系统函数的零极点型

极点留数型

)()()( tfBtxAtx

)()()( tfDtxCty

)1()()2()1(

)1()()2()1()(

1

1

nasnasasa

mbsmbsbsbsH

nn

mm

))(())2())(1((

))(())2())(1(()(

npspsps

mzszszsksH

knps

nr

ps

r

ps

rsH

)(

)(

)2(

)2(

)1(

)1()(

它们都能描述系统的特性,但各有不同的应用场合。对于线性非时变系统,这几种模型是可以互相转换的。用 Matlab 就可以实现这一转换。

Page 4: 实验 26  连续系统状态方程的数值解

4

实验原理与说明实验原理与说明1 .状态空间型与系统函数的多项式型互相转换 Matlab 提供的函数: [b,a]=ss2tf(A,B,C,D) 将状态空间型转换成 的多项式型,其中, b,a 为的分 子、分母多项式系统, A,B,C,D 为状态空间型的系数矩阵。 [A,B,C,D]=tf2ss(b,a) 表示将 的多项式型转换成状态空间型。2 .状态空间型与系统函数的零极点型互相转换 Matlab 提供的函数: [z,p,k]=ss2zp(A,B,C,D) 将状态空间型转换成 的零极点型,其中, z,p,k 为 的零点、 极点、增益, A,B,C,D 为状态空间型的系数矩阵。

)(sH

)(sH

)(sH )(sH

[A,B,C,D]=zp2ss(z,p,k)表示将的零极点型转换成

状态空间型。

Page 5: 实验 26  连续系统状态方程的数值解

5

实验原理与说明实验原理与说明

33 .系统函数的零极点型与多项式型互相转换.系统函数的零极点型与多项式型互相转换 将 多项式型转换成零极点型: 将 多项式型转换成零极点型: [z,p,k]=tf2zp(b,a) [z,p,k]=tf2zp(b,a)

将 的零极点型转换成多项式型:将 的零极点型转换成多项式型: [b,a]=zp2tf(z,p,k)[b,a]=zp2tf(z,p,k)

44 .系统函数的极点留数型与多项式型互相转换.系统函数的极点留数型与多项式型互相转换 将 多项式型转换成极点留数型:将 多项式型转换成极点留数型: [r,p,k]=residue(b,a) [r,p,k]=residue(b,a)

将 的零极点型转换成多项式型:将 的零极点型转换成多项式型: [b,a]=residue(r,p,k)[b,a]=residue(r,p,k)

(二)用(二)用 lsimlsim 求系统响应的数值解 求系统响应的数值解 在前面曾用到过这个函数,它的功能特别强,能对系统函数在前面曾用到过这个函数,它的功能特别强,能对系统函数

模型和状态空间模型对线性非时变系统仿真,对状态空间模模型和状态空间模型对线性非时变系统仿真,对状态空间模型可以求系统全响应、零输入响应、零状态响应的数值解。 型可以求系统全响应、零输入响应、零状态响应的数值解。

)(sH

)(sH

)(sH

)(sH

Page 6: 实验 26  连续系统状态方程的数值解

6

计算示例 计算示例 11 11 、已知描述系统的微分方程为、已知描述系统的微分方程为

求出它的四种模型。求出它的四种模型。解解 用 用 MatlabMatlab 计算的程序如下:计算的程序如下: % % 系统模型相互转换的程序 系统模型相互转换的程序 exp26_1.mexp26_1.m format compactformat compact b=input('b=input(' 系统函数分子系数数组 系统函数分子系数数组 b=');b='); a=input('a=input(' 系统函数分母系数数组 系统函数分母系数数组 a=');a='); printsys(b,a,'s')printsys(b,a,'s') disp('disp(' 零极点型模型零极点型模型 ')') [z,p,k]=tf2zp(b,a)[z,p,k]=tf2zp(b,a) disp('disp(' 极点留数型模型极点留数型模型 ')') [r,p,k]=residue(b,a)[r,p,k]=residue(b,a) disp('disp(' 状态空间型模型状态空间型模型 ')') [A,B,C,D]=tf2ss(b,a) [A,B,C,D]=tf2ss(b,a)

)(3)(5)(2)(9)(5)(3)(2 tftftftytytyty

运行程序后,结果显示如下。 系统函数分子系数数组 b=[2 -5 3]系统函数分母系数数组 a=[2 3 5 9] num/den = 2 s^2 - 5 s + 3 -----------------------

2 s^3 + 3 s^2 + 5 s + 9 零极点型模型z = 1.5000 1.0000p = -1.6441 0.0721 + 1.6528i 0.0721 - 1.6528ik = 1

极点留数型模型r = -0.2322 + 0.4716i -0.2322 - 0.4716i 1.4644 p = 0.0721 + 1.6528i 0.0721 - 1.6528i -1.6441 k = [ ]状态空间型模型A = -1.5000 -2.5000 -4.5000 1.0000 0 0 0 1.0000 0B = 1 0 0C = 1.0000 -2.5000 1.5000D = 0

Page 7: 实验 26  连续系统状态方程的数值解

7

计算示例计算示例 22

设某系统的状态方程和输出方程为 设某系统的状态方程和输出方程为

系统的初始状态为 ,输入系统的初始状态为 ,输入信号信号

,试求状态变量 ,试求状态变量 和输出 的零输入响应、零状态响 和输出 的零输入响应、零状态响应和全响应。应和全响应。

解:用解:用 MatlabMatlab 计算的程序如下: 计算的程序如下:

2

1

2

1

2

1

14

1)(

)(0

1

31

01

x

xty

tfx

x

x

x

2)0(,1)0( 21 xx

)()2sin(15)( tttf )(),( 21 txtx)(ty

Page 8: 实验 26  连续系统状态方程的数值解

8

计算示例计算示例 22

% % 计算状态方程和输出方程的数值解 计算状态方程和输出方程的数值解 exp26_2.mexp26_2.m t=0:0.01:3;t=0:0.01:3; A=[1 0;1 -3];B=[1 0]';C=[-0.25 1];D=[0];A=[1 0;1 -3];B=[1 0]';C=[-0.25 1];D=[0]; zi=[1 2]; % zi=[1 2]; % 初始条件初始条件 f=15*sin(2*pi*t); % f=15*sin(2*pi*t); % 输入信号输入信号 sys=ss(A,B,C,D)sys=ss(A,B,C,D) [y,t,x]=lsim(sys,f,t,zi) % [y,t,x]=lsim(sys,f,t,zi) % 计算全响应计算全响应 f=zeros(1,length(t)); % f=zeros(1,length(t)); % 令输入为零令输入为零 yzi=lsim(sys,f,t,zi); % yzi=lsim(sys,f,t,zi); % 计算零输入响应计算零输入响应 f=15*sin(2*pi*t);f=15*sin(2*pi*t); zi=[0 0]; % zi=[0 0]; % 令初始条件为零令初始条件为零 yzs=lsim(sys,f,t,zi); % yzs=lsim(sys,f,t,zi); % 计算零状态响应计算零状态响应

Page 9: 实验 26  连续系统状态方程的数值解

9

计算示例计算示例 22

figure(1)figure(1) plot(t,x(:,1),'-',t,x(:,2),'-.','linewidth',2)plot(t,x(:,1),'-',t,x(:,2),'-.','linewidth',2) legend('x(1)','x(2)') % legend('x(1)','x(2)') % 显示图例显示图例 title('title(' 状态变量波形状态变量波形 ')') xlabel('t (sec)')xlabel('t (sec)') figure(2)figure(2) plot(t,y,'-',t,yzi,'-.',t,yzs,':','linewidth',2)plot(t,y,'-',t,yzi,'-.',t,yzs,':','linewidth',2) legend('y','yzi','yzs') % legend('y','yzi','yzs') % 显示图例显示图例 title('title(' 系统响应系统响应 ,, 零输入响应零输入响应 ,, 零状态响应零状态响应 ')') xlabel('t (sec)') xlabel('t (sec)') 运行程序后,系统全响应、零输入响应、零状态响应显运行程序后,系统全响应、零输入响应、零状态响应显

示如图。 示如图。

通过理论分析可知,状态变量由于系统特征根为正值而发散,而系统响应由于系统极点为正值的根被抵消而稳定。以上分析证明了这一点。

Page 10: 实验 26  连续系统状态方程的数值解

10

实验内容 实验内容 11

11 、已知下列系统模型,试用、已知下列系统模型,试用 MATLABMATLAB 将其将其转换成其它三种形式的模型。 转换成其它三种形式的模型。

(a)

(b) , , ,

(c)

22

22)(

23

3

sss

sssH

62

21A

2

3B 21C ]0[D

3)1(

2)(

ss

ssH

Page 11: 实验 26  连续系统状态方程的数值解

11

实验内容 实验内容 22

22 、、设系统的微分方程为设系统的微分方程为

)(10)(4)(12)(19)(8)( tftftytytyty

(a) 写出系统的状态方程和输出方程。

(b) 若输入信号 ,初始状态

,试求状态变量

和输出 的零输入响应、零状态响应和全响应。

)(5)( tetf t

1)0()0()0( 321 xxx

)(),(),( 321 txtxtx )(ty

Page 12: 实验 26  连续系统状态方程的数值解

12

实验内容实验内容 33

33 、设系统函数为、设系统函数为

3)1(

2)(

ss

ssH

(a) 写出系统的状态方程和输出方程。

(b) 若输入信号 ,初始状态 )(3)()( 2 tetetf tt

2)0(,1)0(,0)0(,1)0( 4321 xxxx

试求状态变量 和输出 的零输入响应、零状态响应和全响应。

)(),(),(),( 4321 txtxtxtx )(ty

Page 13: 实验 26  连续系统状态方程的数值解

13

实验步骤与方法 实验步骤与方法 11 、仿照例、仿照例 11 的方法用的方法用 MATLABMATLAB 的模型的模型转换函数求实验内容转换函数求实验内容 11 。。

22 、仿照例、仿照例 22 的方法,完成实验内容的方法,完成实验内容 22 、、33 的编程。上机调试程序。的编程。上机调试程序。

Page 14: 实验 26  连续系统状态方程的数值解

14

实验报告要求 实验报告要求

根据实验内容编写出的程序。根据实验内容编写出的程序。 上机调试程序的方法。上机调试程序的方法。 心得体会及其他。心得体会及其他。