K3.08-利用MATLAB求解系统状态方程
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
k=0:1:40;
%求全响应
v0=[-10;-4];
%初始状态
X=[1*ones(size(k))]';
%输入阶跃函数
[y,v]=dlsim(A,B,C,D,X,v0);
% 调用函数求解响应
stem(k,y);xlabel('k');ylabel('y');title('全响应');
y
全响应 6
4
2
2
1
2
0
x1(t)
x2
(t
)
10
0
f
(t)
y(t) 1
0
x1 x2
(t) (t)
系统输入为:f (t) t (t)
初始状态:
x1(0)
x2
(0)
5 0
求系统的零输入响应和零状态响应。
2
利用MATLAB求解系统状态方程
解:
%求零输入响应
A=[-2 -2;1 0]; B=[10;0];C=[1 0];D=[0];
1 0
f
(k
)
y(k) 1
1
x1 x2
(k ) (k )
系统输入为:f(k)=ε(k)
初始状态为:
x 1 (0) x2 (0)
10 4
求系统的全响应。
4
解:
利用MATLAB求解系统状态方程
A=[0 1;-1 1.9021];B=[1;0];C=[-1 1];D=[0]; %各系数矩阵
0
-2
-4
-6
-8
0
5 10 15 20 25 30 35 40
k
5
v0=[0;0];
%零初始状态
X=[1*t]';
%输入激励为t
[y,v]=lsim(A,B,C,D,X,t,v0);
plot(t,y);grid;xlabel('t');ylabel('y');
title('零状态响应');
y
y
零输入响应 6 5 4 3 2 1 0 -1 -2
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 t
v0=[5;0]
%初始状态
t=0:.01:5;
X=[0*ones(size(t))]'; %零输入
[y,v]=lsim(A,B,C,D,X,t,v0);
%计算和绘制任意输入下的激励
plot(t,y);grid;xlabel('t');ylabel('y');
title('零输入响应');
%求零状态响应
利用MATLAB求解系统状态方程
知识点K3.08
利用MATLAB求解系统状态方程
主要内容:
利用Matlab求解系统状态方程
基本要求:
了解利用Matlab求解系统状态方程的方法
1
利用MATLAB求解系统状态方程
一、利用MATLAB求解连续系统状态方程 例1 已知系统状态方程和输出方程分别如下:
x1(t) x2 (t)
零状态响应 6
5
4
3
2
1
0 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 t
3
利用MATLAB求解系统状态方程
二、利用MATLAB求解离散系统状态方程 例2 已知系统状态方程和输出方程分别如下:
பைடு நூலகம்
x1 (k x2 (k
1) 1)
0 1
1 1.9021
x1 x2
(k ) (k )