1 / 14

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

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

theola
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 实验目的 • 学习使用Matlab的各种系统模型转换函数,加深对系统模型几种形式的理解。 • 学习用Matlab计算连续系统状态方程的数值方法。加深对连续系统状态方程的的理解,对系统零输入响应、零状态响应的理解。

  3. 实验原理与说明 (一)系统模型的相互转换 线性非时变系统的系统模型有: 状态空间型 系统函数的多项式型 系统函数的零极点型 极点留数型 它们都能描述系统的特性,但各有不同的应用场合。 对于线性非时变系统,这几种模型是可以互相转换 的。用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为状态空间型的系数矩阵。 [A,B,C,D]=zp2ss(z,p,k) 表示将的零极点型转换成状态空间型。

  5. 实验原理与说明 3.系统函数的零极点型与多项式型互相转换 将 多项式型转换成零极点型: [z,p,k]=tf2zp(b,a) 将 的零极点型转换成多项式型:[b,a]=zp2tf(z,p,k) 4.系统函数的极点留数型与多项式型互相转换 将 多项式型转换成极点留数型:[r,p,k]=residue(b,a) 将 的零极点型转换成多项式型:[b,a]=residue(r,p,k) (二)用lsim求系统响应的数值解 在前面曾用到过这个函数,它的功能特别强,能对系统函数模型和状态空间模型对线性非时变系统仿真,对状态空间模型可以求系统全响应、零输入响应、零状态响应的数值解。

  6. 运行程序后,结果显示如下。 系统函数分子系数数组 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.0000 p = -1.6441 0.0721 + 1.6528i 0.0721 - 1.6528i k = 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 0 B = 1 0 0 C = 1.0000 -2.5000 1.5000 D = 0 计算示例 1 • 1、已知描述系统的微分方程为 求出它的四种模型。 解 用Matlab计算的程序如下: • % 系统模型相互转换的程序 exp26_1.m • format compact • b=input('系统函数分子系数数组 b='); • a=input('系统函数分母系数数组 a='); • printsys(b,a,'s') • disp('零极点型模型') • [z,p,k]=tf2zp(b,a) • disp('极点留数型模型') • [r,p,k]=residue(b,a) • disp('状态空间型模型') • [A,B,C,D]=tf2ss(b,a)

  7. 计算示例2 • 设某系统的状态方程和输出方程为 系统的初始状态为 ,输入信号 ,试求状态变量 和输出 的零输入响应、零状态响应和全响应。 解:用Matlab计算的程序如下:

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

  9. 计算示例2 • figure(1) • plot(t,x(:,1),'-',t,x(:,2),'-.','linewidth',2) • legend('x(1)','x(2)') % 显示图例 • title('状态变量波形') • xlabel('t (sec)') • figure(2) • plot(t,y,'-',t,yzi,'-.',t,yzs,':','linewidth',2) • legend('y','yzi','yzs') % 显示图例 • title('系统响应,零输入响应,零状态响应') • xlabel('t (sec)') 运行程序后,系统全响应、零输入响应、零状态响应显示如图。 通过理论分析可知,状态变量由于系统特征根为正值而发散, 而系统响应由于系统极点为正值的根被抵消而稳定。 以上分析证明了这一点。

  10. 实验内容 1 • 1、已知下列系统模型,试用MATLAB将其转换成其它三种形式的模型。 (a) (b) , , , (c)

  11. 实验内容 2 2、设系统的微分方程为 (a) 写出系统的状态方程和输出方程。 (b) 若输入信号 ,初始状态 ,试求状态变量 和输出 的零输入响应、零状态响应和全响应。

  12. 实验内容3 3、设系统函数为 (a) 写出系统的状态方程和输出方程。 (b) 若输入信号 ,初始状态 试求状态变量 和输出 的零输入响应、零状态响应和全响应。

  13. 实验步骤与方法 • 1、仿照例1的方法用MATLAB的模型转换函数求实验内容1。 • 2、仿照例2的方法,完成实验内容2、3的编程。上机调试程序。

  14. 实验报告要求 • 根据实验内容编写出的程序。 • 上机调试程序的方法。 • 心得体会及其他。

More Related