当前位置:文档之家› 实验25线性系统状态空间分析和运动解

实验25线性系统状态空间分析和运动解

广西大学实验报告纸
【实验时间】2014年06月15日
【实验地点】(课外)
【实验目的】
1、掌握线性系统状态空间的标准型、解及其模型转换。

【实验设备与软件】
1、MATLAB数值分析软件
【实验原理】
Matlab提供了非常丰富的线性定常连续系统的状态空间模型求解(即系统运动轨迹的计算)的功能,主要的函数有
①、阶跃响应函数step()可用于计算在单位阶跃输入和零初始状态(条件)下传递函数模型的输出响应,或状态空间模型的状态和输出响应,其主要调用格式为
step(sys,t)
[y,t] = step(sys,t)
[y,t,x] = step(sys,t)
②、脉冲激励下的仿真函数impulse()可用于计算在脉冲刺激输入下传递函数模型的输出响应,或状态空间模型的状态和输出响应,其主要调用格式为
impulse(sys,t)
[y,t] = impulse(sys,t)
[y,t,x] = impulse(sys,t)
③、任意输入激励下的仿真函数lsim()可用于计算在给定的输入信号序列(输入信号函数的采样值)下传递函数模型的输出响应,其主要调用格式为
lsim(sys,u,t,x0)
[y,t,x] = lsim(sys,u,t,x0)
【实验内容、方法、过程与分析】
已知线性系统
1、利用Matlab求零状态下的阶跃响应(包括状态和输出),生成两幅图:第一幅绘制各状态响应曲线并标注;第二幅绘制输出响应曲线。

状态响应曲线:
A=[-21 19 -20;19 -21 20;40 -40 -40];
B=[0;1;2];
C=[1 0 2];
D=[0]; %输入状态空间模型各矩阵,若没有相应值,可赋空矩阵
X0=[0;0;0]; % 输入初始状态
sys=ss(A,B,C,D); %构造传递函数
[y,x,t]=step(sys); % 绘以时间为横坐标的状态响应曲线图
plot(t,x);
grid;
title('状态响应曲线')
输出响应曲线:
A=[-21 19 -20;19 -21 20;40 -40 -40];
B=[0;1;2];
C=[1 0 2];
D=0;
X0=[0;0;0]
[num,den]=ss2tf(A,B,C,D,1);
sys=tf(num,den);
step(sys)
grid
title('输出响应曲线')
2、利用Matlab求零状态下的冲激响应(包括状态和输出),生成两幅图:第一幅绘制各状态响应曲线并标注;第二幅绘制输出响应曲线。

状态响应曲线:
A=[-21 19 -20;19 -21 20;40 -40 -40];
B=[0;1;2];
C=[1 0 2];
D=[]; %输入状态空间模型各矩阵,若没有相应值,可赋空矩阵
x0=[0;0;0]; % 输入初始状态
sys=ss(A,B,C,D); %构造传递函数
[y,x,t]= impulse(sys);
plot(t,x);
grid;
title('状态响应曲线')
输出响应曲线:
A=[-21 19 -20;19 -21 20;40 -40 -40];
B=[0;1;2];
C=[1 0 2];
D=0;
X0=[0;0;0]
[num,den]=ss2tf(A,B,C,D,1);
sys=tf(num,den);
impulse(sys);
grid;
title('输出响应曲线')
3、若控制输入为,且初始状态为,求系统的响应,要求
a.在simulink只能够画出模型求响应,生成两幅图:第一幅绘制各状态响应曲线并标注;第二幅绘制输出响应曲线。

b.编写.m文件求响应,生成两幅图:第一幅绘制各状态响应曲线并标注;第二幅绘制输出响应曲线。

状态响应曲线:
t=[0:0.02:5];
if t>=3
u=1;
else
u=1+exp(-t).*cos(5*t);
end
A=[-21 19 -20;19 -21 20;40 -40 -40];
B=[0;1;2];
C=[1 0 2];
D=[0]; %输入状态空间模型各矩阵,若没有相应值,可赋空矩阵
X0=[0.2;0.2;0.2]; % 输入初始状态
u=(t==0); %就是个条件判断,只有t=0的时候,u才为“1”
sys=ss(A,B,C,D); %构造传递函数
[y,t,x]=lsim(sys,u,t,X0);
plot(t,x);
grid;
title('状态响应曲线')
输出响应曲线:
plot(t,y);
grid;
title('输出响应曲线')
4、以阶跃输入情况下的,分析各模块对响应有什么影响。

5、求系统的传递函数
在MATLAB软件Command Window窗口中输入以下程序A=[-21 19 -20;19 -21 20;40 -40 -40];
B=[0;1;2];
C=[1 0 2];
D=0;
[num,den]=ss2tf(A,B,C,D,1);
printsys(num,den)
程序运行结果为
6、若采用K增益负反馈,绘制闭环根轨迹图,并对根轨迹加以描述说明。

A=[-21 19 -20;19 -21 20;40 -40 -40];
B=[0;1;2];
C=[1 0 2];
D=0;
[num,den]=ss2tf(A,B,C,D,1);
rlocus(num,den);
grid
title('K增益负反馈闭环根轨迹图')
采用K增益负反馈,画出如图所示的根轨迹图。

由图可知,共有3条根轨迹,第一条最终趋于原点;第二条收敛在20~60之间;第三条最终趋于无穷远处。

7、在Matlab中绘制Bode图和Nyquist图,并对图给予说明。

绘制Bode图:
A=[-21 19 -20;19 -21 20;40 -40 -40];
B=[0;1;2];
C=[1 0 2];
D=0;
sys=tf(num,den)
bode(num,den)
grid
title('Bode图')
汇出的波特图如图所示,由图可知,对复制响应分析可得,交越频率在转折频率之后,故复制的变化主要发生在低频段。

对相频特性进行分析,可知此系统的相频特性角度均为负值,并且最后的相角是趋于-90度的。

绘制Nyquist图:
nyquist(sys)
title('Nyquist图')
画出的奈奎斯特图如上所示,根据此图可知,此系统是稳定的系统,由奈奎斯特曲线可以分析出此系统的稳定性。

相关主题