实验25线性系统状态空间分析和运动解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
广西大学实验报告纸
【实验时间】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);