matlab 三弯矩方程_Matlab-自动化控制系统设计7状态空间分析1

cc79e8d2b60b714ee6131ca16ef5a202.png

本文内容:状态空间方程求解与能控能观性分析

操作环境:matlab2019b

一、状态空间基础

在经典控制理论中,用传递函数来设计和分析单入单出系统,这是一种行之有效的办法。但只能反应系统外部的输入输出关系,不能反应系统内部关系,且需建立在零初始条件下,所以不适用于多变量和时变系统。

在现代控制理论中用状态变量来描述系统,为时变和多变量系统提供了有力的工具。

状态:动力学的状态定义为信息的合集,每一个时刻的状态是唯一确定的

状态变量:能够完全描述系统状态的最小一组变量

状态向量:如果描述一个给定系统的状态需要n个状态变量,那么这些状态变量可以看成是向量x(t)的各个分量

805791bdc7b2e361da36f5cf518329fd.png

状态空间:以各状态变量作为坐标轴所组成的n维空间叫做状态空间。状态向量则可用空间中的一个点来表示

建立系统的状态空间方程:大家可以参考以下链接,本文主要介绍matlab代码实现就不赘述了

现代控制理论3--系统动态方程的建立_hongliyu_lvliyu的博客-CSDN博客​blog.csdn.net
d2cd861732f776068ea0947dc85727f4.png

这里介绍matlab中状态空间方程的建立和传递函数与状态空间方程的转换

例:

b69c0fbc371e81d4baf68991c71376bf.png
a=[-2 2 -1;0 -2 0;1 -4 0];
b=[0 1 1]';
c=[1 0 0];
d=0;
sys=ss(a,b,c,d);  %ss函数建立状态空间方程

423cf56d7149d6be5141a0c0ab0b1865.png

把传递函数转换为状态空间:可以用tf2ss或者zp2ss

如零、极点形式:

140862fea93acc31b5731666afaa03be.png
z=[0];
p=[-1 -2 -3];
[a,b,c,d]=zp2ss(z,p,10);

二、状态空间方程求解

齐次状态方程:x`=Ax

其解为: x(t)=e^at · x(0)

解法:

方法一:幂级数法(设齐次状态方程的解是t的向量幂级数)

9d8b40435c167b33af482b4dfc2e9b6f.png

aeaf95c0288419cb438ab5987f48d02f.png

其中e^At,又称为矩阵指数函数/状态转移矩阵

方法二:拉氏变化法

2f62a68cd845e6800685968661971437.png

可以发现,两种方法的结果是相同互通的

ea184fcf5a3f5ffc7542794dc1ebac1f.png

matlab求解:

3b325f99545d0434e21a0f157d697e7d.png
syms s;
A=[0 1;-2 -3];
B=[];
C=[];
D=[];
x0=[1;2];
sys=ss(A,B,C,D);
I=[1 0;0 1];
E=s*I-A;
e=ilaplace(inv(E));
X=e*x0;
[y,t,x]=initial(sys,x0,0:5);
plot(t,x);

求解得

f7de06f015a479498ecacc57fa224b96.png

图像为:

b614642dba0434971943e8614c5d0aba.png

三、线性系统的能控性和能观性

1.能控性与能观性

能控性:一个线性定常系统(A B C)在有限时间间隔t0 ≦ t ≦ tf 内,存在无约束的分段容许连续控制函数 u(t) ,能使系统从任意初态 x(t0)=x0 转移到终态 x(tf)=x1,则称系统是状态完全能控的,简称能控的

能控性判据:

850775ed1a0e0c6496d55dbc233605a6.png

能观性:一个线性定常系统(A B C)在有限时间间隔t0 ≦ t ≦ tf 内,能够根据输出值y(t)和给出的u(t),能够确定系统的初始状态x(t0)的每一个分量,则称系统为完全能观测的,简称不可观测。

能观性判据:

c0b76fe8d3b48fd1e1ee30c9285d348d.png

matlab代码实现:

例如判断系列状态方程的能控能观性

e368d88b30c1542dc49d9db0af073856.png
A=[0 1 0;-1 -1 0;0 0 1];
B=[0 1 1]';
C=[1 0 1];
D=0;
co=ctrb(A,B); %计算能控性矩阵
ob=obsv(A,C); %计算能观性矩阵
n1=rank(co);
n2=rank(ob);

可以输出n1=3 ,n2=3,系统能控能观

2.能控(能观)标准型

能控标准型:

一个单输入系统,如果其A,B阵具有以下标准形式:

ca1e15f1cbc6f3c743b6021776116d2a.png

则系统一定可控

如果系统可控,则一定能找到一个可逆线性变换,将其变化为可控标准型

变化步骤为:

a.由能控性矩阵求逆

f829ba391b1babbc54ebcbca9a7f9b9b.png

d2a882222852f120757538f7a929512b.png

b.得到变换阵P

d5b799594490b587ac846d5add48039b.png

c.进行坐标变换

3e7f65107c5f9ece2d0bec543788908c.png

如:

c95923dc7d5fdc4d481eb3c2ec901309.png
a=[-2 2 -1;0 -2 0;1 -4 0];
b=[0 1 1]';
c=[1 0 0];
d=0;
co=ctrb(a,b);%计算可控性矩阵
n=rank(co);
s=inv(co);  %求逆矩阵
P=[s(3,:);s(3,:)*a;s(3,:)*a^2];
a1=P*a*inv(P);
b1=P*b;
c1=c*inv(P);
printsys(a1,b1,c1,d);

097c9edeb389c2985f734cdb99f00d4e.png

能观标准型:

一个单输入系统,如果其A,C阵具有以下标准形式,则系统一定能观

22fa3a7ab3df3728bb43777d4ea2185b.png

因为能控性系统和能观性系统满足对偶定理,这里不再赘述能观标准型的转换。

本文为小编自行编程,如有错误还请大家批评指出~

待更新~下一篇为“matlab中控制系统的状态空间分析2”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值