线性代数基础课程设计.docx
《线性代数基础课程设计.docx》由会员分享,可在线阅读,更多相关《线性代数基础课程设计.docx(25页珍藏版)》请在冰豆网上搜索。
线性代数基础课程设计
摘要
在现代控制理论中,状态反馈设计是控制系统设计的重要方式之一。
目前,常用的设计方法是极点配置方法。
在进行线性系统状态反馈设计的过程中,从表面看它的步骤比较简单,但真正计算起来还是很困难的。
因为在整个计算流程中,不仅要对系统的可控性进行判定,还需对线性控制系统进行矩阵变换以及对期望极点进行选择。
而这整个的过程不但需要大量的计算,且对设计者的要求相对来说比较苛刻。
对于简单的线性控制系统设计是有效的,但当系统阶数较多时,计算量非常巨大,操作过程将会很繁琐。
本文在简要介绍了对线性控制系统进行状态反馈设计的方法即极点配置与线性二次型最优控制两种方法之后,提出了基于差分演化算法的控制系统状态反馈设计方法。
本文根据引入状态反馈后闭环系统的阶跃响应的性能指标,以误差积分指标作为适应度函数,直接对状态反馈设计中的状态反馈矩阵以及前馈增益矩阵进行选择,以使适应度函数获得最优解。
当适应度函数得到最优解时,选择的状态反馈矩阵及前馈增益矩阵就是较优的。
本文分别针对单输入-单输出系统、多输入-多输出系统、完全可控系统以及不完全可控系统分别列举多个实例并采用差分演化算法进行状态反馈设计及仿真。
通过仿真,证实了基于差分演化算法的状态反馈控制系统可有效地改进系统性能,优于传统极点配置状态反馈控制。
而且,基于差分演化算法的状态反馈设计提供了一种可能的更有效的新的状态反馈设计的简便途径。
最后,本文将差分演化算法进一步应用于状态反馈解耦控制,发现利用差分演化算法进行状态反馈解耦控制是有效的,这进一步证明了将差分演化算法应用于状态反馈有许多可取之处
关键字:
状态反馈极点配置最优解控制
目录
1.问题重述1
1.1问题分析1
2.数学模型的建立3
2.1状态反馈和输出反馈3
2.2能控性、能观性分析5
2.3系统的稳定性分析7
2.4劳斯判据8
3.模型的MATLAB建模10
3.1模型的建立程序:
10
3.1.1)脉冲响应实验程序:
10
3.1.2)系统的能控性,能观测性,稳定性试验程序:
10
4.模型的求解结果13
4.1模型的求解结果13
4.1.1)脉冲响应实验程序实验结果:
13
4.1.2)系统的能控性,能观测性与稳定性判别的实验结果:
14
4.1.3)U=Fy给予稳定的实验结果:
16
4.1.4)闭环系统的极点配置的实验结果:
16
4.1.5)y=at斜坡输入配置实验结果:
19
5.1实验方法的优点:
23
5.2实验方法的缺点23
5.3实验的收获23
6.参考文献24
连续系统性能分析及闭环调节器设计
1.问题重述
系统参数:
设某调节对象状态空间方程描述为
设计要求:
分析原系统的性能,根据要求设计状态反馈阵及系统给定,满足设计要求。
设计主要内容:
(1)求原系统的状态脉冲响应。
(2)分析系统的能控性、能观测性、稳定性。
(3)分析此调节对象可否通过
给予稳定,为什么?
(4)利用状态反馈进行设计,使得闭环系统的极点配置在
处,并对对设计的系统进行仿真,分析系统的性能。
(5)如果输出量y需以斜坡函数形式变化,即要求
,根据第4小题之分析,对应的闭环系统给定量应为何值?
对设计的结果进行仿真验证。
1.1问题分析
题目要求观察系统的稳定性,如果系统不稳定,则通过状态反馈和输出反馈进行极点配置来得到稳定的系统。
为此我们首先要找到合适的数学方法与模型来观察系统是稳定的还是不稳定的。
当系统是不稳定的时候,根据题目要求配置相关的极点来得到稳定的系统构造。
通过使用matlab工具来进行验证观察系统配置后是否符合稳定性的要求,得到相应的阶跃响应曲线图形,并对系统的性能进行分析说明。
2.数学模型的建立
2.1状态反馈和输出反馈
1)状态反馈与输出反馈的比较。
定义一个线性离散系统
x(t+1)=Ax(t)+bu(t)
y(t)=Cx(t)(1一1
可控可观。
首先,我们来考虑使用状态反馈来解决这个问题,由于我们不知
道系统确切的x(t)的全部状态,故我们需要利用可观的数据对系统建立观测
器,来估计系统的各个状态,在这里观测器为
因此,由(1-2)(1-3)两组方程我们可以解得Z;中的各个状态。
然而,由于观测
器(全维)的引入,方程由n维变为2n维,大大增加了计算量。
在工程中,这
样的计算会削减系统的实时性,而且增加的维数在实际观测器构建中还是有
很大的难度的。
接下来,我们来看输出反馈的情况,对于系统
,存在
u(t)=Ky(t)
K为lxp的参数矩阵。
因此
x(t+1)=(A+bKC)x(t)
这样,我们就把求解状态的问题转化成lxp的参数矩阵K的参数整定问题。
就状态反馈而言,如图1-1可以有效实现极点配置,然而这种方法要求
原系统各部分参数是精确确定的,因此在一般不知道系统内部精确参数的时
候,我们就需要建立状态观测器来逼近原系统,由于所建立的观测器的内部
参数我们是知道的。
为达到控制原系统的目的,我们采用极点配置的方法,
对这个模拟原系统的观测器进行控制。
然而,由于加入了观测,使得系统的
维数加倍,因此系统建模变的更加复杂。
对于输出反馈而言,如下图1-2所示,这是一种简单的方法,但是极点
图1-2输出反馈
的配置受到一定限制。
输出反馈本身只利用输出数据中及其有限的状态信息
对原系统进行修正,可用的信息量是极为有限的,较少的信息量即使形成闭
环回路也可能无法控制原系统达到稳定,但把复杂的观测器设计转换成K矩
阵的参数整定问题,又使这种方法的优势显现出来,调参在工程中要比建立
复杂的观测器可靠有效得多。
输出反馈能够提供的状态信息较少,我们可以
借助控制器的设计来解决。
2.2能控性、能观性分析
1、系统能控性、能观性分析
(1-1)
设系统的状态空间表达式如(1-1)所示。
系统的能控性、能观测性分析是多变量系统设计的基础,包括能控性、能观测性的定义和判别。
系统状态能控性定义的核心是:
对于线性连续定常系统(1-1),若存在一个分段连续的输入函数u(t),在有限的时间(t1-t0)内,能把任一给定的初态x(t0)转移至预期的终端x(t1),则称此状态是能控的。
若系统所有的状态都是能控的,则称该系统是状态完全能控的。
能控性判别分为状态能控性判别和输出能控性判别。
状态能控性分为一般判别和直接判别法,后者是针对系统的系数阵A是对角标准形或约当标准形的系统,状态能控性判别时不用计算,应用公式直接判断,是一种直接简易法;前者状态能控性分为一般判别是应用最广泛的一种判别法。
输出能控性判别式为:
(2-1)
状态能控性判别式为:
(2-2)
系统状态能观测性的定义:
对于线性连续定常系统(2-1),如果对t0时刻存在ta,t0,根据[t0,ta]上的y(t)的测量值,能够唯一地确定系统在t0时刻的任意初始状态x0,则称系统在t0时刻是状态完全能观测的,或简称系统在[t0,ta]区间上能观测。
状态能观测性也分为一般判别和直接判别法,后者是针对系统的系数阵A是对角标准形或约当标准形的系统,状态能观性判别时不用计算,应用公式直接判断,是一种直接简易法;前者状态能观测性分为一般判别是应用最广泛的一种判别法。
状态能观测性判别式为:
(2-3)
系统的传递函数阵和状态空间表达式之间的有(1-2)式所示关系。
已知系统的传递函数阵表述,求其满足(1-2)式所示关系的状态空间表达式,称为实现。
实现的方式不唯一,实现也不唯一。
其中,当状态矩阵A具有最小阶次的实现称为最小实现,此时实现具有最简形式。
2.3系统的稳定性分析
如果系统受到扰动,偏离了原来的平衡状态,当扰动消失后,系统能够以足够的准确度恢复到原来的平衡状态,则系统是稳定的。
否则,系统是不稳定的。
可见,稳定性是系统在去掉扰动以后,自身具有的一种恢复能力,所以是系统的一种固有特性。
这种特性只取决于系统的结构、参数而与初始条件及外作用无关。
由上所述,稳定性所研究的问题是当扰动消失后系统的运动情况,显然可以用系统的脉冲响应函数来描述。
如果脉冲响应函数是收敛的,即
系统是稳定的。
由于单位脉冲函数的拉氏变换等于1,所以系统的脉冲
响应函数就是系统闭环传递函数的拉氏反变换。
设系统闭环传递函数为
式中
…,
为闭环零点;
…,
为闭环极点。
脉冲响应函数的拉氏变换式,即为
(3-38)
如果闭环极点为互不相同的实数根,那么把方程(3-38)展开成部分分式
式中
为待定常数。
对上式进行拉氏反变换,即得单位脉冲响应函数
根据稳定性定义
考虑到系数
的任意性,必须使上式中的每一项都趋于零,所以应有
(3-39)
其中
为常值,式(3-39)表明,系统的稳定性仅取决于特征根
的性质。
并可得到,系统稳定的充分必要条件是系统闭环特征方程的所有根都具有负的实部,或者说都位于[s]平面的左半平面。
2.4劳斯判据
劳斯判据步骤如下:
1)列出系统特征方程:
检查各项系数是否大于0,若是,进行第二步。
可见,
,
是满足系统稳定的必要条件。
2)按系统的特征方程式列写劳斯表
3)考察劳斯阵列表中第一列各数的符号,如果第一列中各数a0、a1、b1、c1、……的符号相同,系统稳定;如果符号不同,系统不稳定,且符号改变的次数等于系统具有的正实部特征根的个数。
通常
,因此,劳斯稳定判据可以简述为劳斯表中第一列的各数均大于零。
如果劳斯表中第一列系数的符号有变化,其变化的次数等于该特征方程式的根在S的右半平面上的个数,相应的系统为不稳定。
劳斯判据特殊情况:
·I)劳斯表某一行中的第一项等于零,而该行的其余各项不等于零
用一个很小的正数
来代替零这一项,据此算出其余的各项,完成劳斯表
如果第一列
上面的系数与下面的系数符号相同,则表示该方程中有一对共轭虚根存在,相应的系统也属不稳定。
·II)劳斯表中出现全零行
表示相应方程中含有一些大小相等符号相反的实根或共轭虚根。
利用系数全为零行的上一行系数构造一个辅助多项式,并以这个辅助多项式导数的系数来代替表中系数为全零的行,完成劳斯表的排列。
这些大小相等、符号相反的根可通过求解辅助方程得到,而且其根的数目总是偶数的。
例如:
控制系统的特征方程为
列劳斯表
由于
这一行全为0,用上一行组成辅助多项式
,由上表可知,第一列的系数均为正值,表明该方程在S右半平面上没有特征根。
令F(s)=0,
得
.求得两对大小相等、符号相反的根
,显然这个系统处于临界稳定状态。
3.模型的MATLAB建模
3.1模型的建立程序:
3.1.1)脉冲响应实验程序:
A=[010;001;-212];
B=[0;0;1];
C=[300];
D=0;
[num,den]=ss2tf(A,B,C,D,1)%将状态空间模型转换成传递函数
sys=tf(num,den)%求传递函数
impulse(sys)%脉冲响应
3.1.2)系统的能控性,能观测性,稳定性试验程序:
A=[010;001;-212];
B=[0;0;1];
C=[300];
D=0;
n=length(A);%求系统的阶次
qc=[BA*BA^2*B]%能控性判别矩阵
nc=rank(qc)
ifn==nc,disp('systemiscontrollable')
elsedisp('systemisuncontrollable')
end
qo=[C;C*A;C*A^2]%能观测矩阵
no=rank(qo)
ifn==no,disp('systemisobservable')
elsedisp('systemisunobservable')
end
[z,p,k]=ss2zp(A,B,C,D,1)%从A,B,C,D求系统的零点z,极点p和增益k,以此判断系统的稳定性
3.1.3)U=Fy给予稳定的程序:
A=[010;001;-212];
B=[0;0;1];
C=[300];
D=0;
symsFS;%声明两个变量
AO=A+B*F*C;
BO=B;
CO=C;
DO=0;
sys=det(s*eye(3)-AO)%用U=Fy配置后系统的传递函数
3.1.4)闭环系统极点配置的实验程序:
A=[010;001;-212];
B=[0;0;1];
C=[300];
D=0;
disp('原系统的极点为')
p=eig(A)'
P=[-1;-2;-3];
K=place(A,B,P)
disp('配置后系统的极点为')
p=eig(A-B*K)'
disp('极点配置后的闭环系统为')%极点配置后的闭环系统为
sysnew=ss(A-B*K,B,C,D)
step(sysnew/dcgain(sysnew))%极点配置后系统的阶跃响应曲线
3.1.5)y=at的斜坡输入实验程序:
A=[010;001;-212];
B=[0;0;1];
C=[300];
D=0;
p1=[-1,-2,-3];%期望极点
k=place(A,B,p1)
p2=eig(A-B*k)%配置后的极点
[num,den]=ss2tf(A-B*k,B,C,D)
sys=ss(A-B*k,B,C,D)
step(sys/dcgain(sys))
symssa;
disp(‘系统的传递函数为:
’)
sys=tf(num,den)%系统的传递函数
y=1/s^2;%y=at的拉氏变换
disp('输入为:
')
R=ilaplace(y/sys1)
4.模型的求解结果
4.1模型的求解结果
4.1.1)脉冲响应实验程序实验结果:
num=
0003
den=
1.0000-2.0000-1.00002.0000
sys=
3
-------------------
s^3-2s^2-s+2
实验图形:
分析:
由脉冲响应是发散的可知系统是不稳定的。
4.1.2)系统的能控性,能观测性与稳定性判别的实验结果:
qc=
001
012
125
nc=
3
systemiscontrollable%系统是能控的
qo=
300
030
003
no=
3
systemisobservable%系统能观测
z=
Emptymatrix:
0-by-1
p=
2.0000
1.0000
-1.0000
k=
3
分析:
从程序的运行结果可得:
零点为空,极点P=2.0000,1.0000,-1.0000易知极点中有两个为正即位于右半平面,故系统不稳定,且系统能观能控。
4.1.3)U=Fy给予稳定的实验结果:
由实验的程序得到用U=Fy反馈的系统的传递函数为:
sys=s^3-2*s^2-s-3*F+2
建立劳斯表如下:
S^31-1
S^2-23F+2
S^13F0
S^00
根据劳斯判据判断系统的稳定性及根的分布:
由于表中的第一列出现了负数-2,可以判定方程sys=s^3-2*s^2-s-3*F+2的根并非都在s左半平面,因此该系统是不稳定的。
即此调节对象不能通过U=Fy给予稳定。
4.1.4)闭环系统的极点配置的实验结果:
原系统的极点为
p=
2.00001.0000-1.0000
K=
4.000012.00008.0000
配置后系统的极点为
p=
-1.0000-2.0000-3.0000
极点配置后的闭环系统为
sysnew=
a=
x1x2x3
x1010
x2001
x3-6-11-6
b=
u1
x10
x20
x31
c=
x1x2x3
y1300
d=
u1
y10
极点配置后系统的阶跃响应曲线:
分析:
通过配置后的阶跃响应曲线可以看出,经过极点配置后系统将趋于稳定了。
闭环极点配置的Simulink仿真图:
闭环系统的simulink系统仿真的阶跃响应曲线图:
分析:
由图形走势可知经过极点的配置之后系统的稳定性得到了改善,成为了稳定的系统。
4.1.5)y=at斜坡输入配置实验结果:
实验程序得出的结果:
k=
4.000012.00008.0000
p2=
-1.0000
-2.0000
-3.0000
num=
0003
den=
1.00006.000011.00006.0000
sys=
a=
x1x2x3
x1010
x2001
x3-6-11-6
b=
u1
x10
x20
x31
c=
x1x2x3
y1300
d=
u1
y10
系统的传递函数为:
sys=
3
----------------------
s^3+6s^2+11s+6
输入为:
R=
2*t+2*dirac(t)+dirac(t,1)/3+11/3
分析:
由实验程序所得的结果可以看书输入有两部分脉冲响应构成,一部分是幅值为1/3的,另一部分是幅值为2的,所以可得下面的simulink仿真图。
Simulink仿真图如下:
由sinulink得出系统的斜坡响应波形图:
5.实验总结
5.1实验方法的优点:
1)本文充分结合题目的要求利用MATLAB工具编程建模的来分层解决问题,再从合适的数学角度切入。
2)在进行建模的过程中参考了专业的相关资料,对问题的求解给出了合理的解决程序,并进行了仿真验证。
3)最后根据实验的结果对整个的验证过程进行了总结分析,使得实验的准确度有保障。
5.2实验方法的缺点
1)编程建模有一定的复杂度与难度
2)没有承上启下性,即当需要非常仔细分析的地方以及上下问题之间的联系不是很大。
5.3实验的收获
通过本次课程设计,我加深了对线性系统理论基础课程的认识与理解,将课本上学到的理论知识与物理世界中的真实系统进行了紧密联系,并利用matlab与simulink软件对整个设计过程做了较多的计算与仿真,进一步熟悉了对这两种软件的应用。
在设计过程中,我发现matlab真的是一个很好的软件,它可以将人们从繁杂的计算过程中解脱出来,从而替代人们以更加精确的简单语句快速的得出计算数据。
同样的,simulink也是一款很好用的软件,他可以将以前只能在实物或者通过电子元件搭建起来的系统通过简单的模拟模型选择与连接运行出仿真结果,从而简单直观的看到调节各种参数对输出结果的影响,从而避免了很多错误的发生,也节约了设备的投资。
6.参考文献
[1]AeyelsD,WillemsJL.PoleAssignmentforLinearTime一InvariantSecond一OrderSystemsbyPeriodicStaticofMathematicalControl&Information.OutputFeedback[J].IMAJournal1991,(8):
267一274
[2]段广仁,吴广玉.时变线性系统的特征结构配置问题[fJl.中国科学1990,A辑第7期:
769776
[3]侯媛彬,嵇启春现代控制理论基础北京大学出版社2006
[4]WoudeJ.W.ANoteonPolePlacementbyStaticOutputFeedbackforSingle一inputSystems[J].Systems&Controlletters.North-Holland.1988,11:
285287