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

Post on 17-Jan-2016

109 Views

Category:

Documents

19 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

1

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

2

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

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

实验目的实验目的

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 就可以实现这一转换。

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)表示将的零极点型转换成

状态空间型。

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

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

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

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); % 计算零状态响应计算零状态响应

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)') 运行程序后,系统全响应、零输入响应、零状态响应显运行程序后,系统全响应、零输入响应、零状态响应显

示如图。 示如图。

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

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

11

实验内容 实验内容 22

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

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

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

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

,试求状态变量

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

)(5)( tetf t

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

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

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

13

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

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

14

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

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

top related