线性系统理论大作业

  • 格式:doc
  • 大小:744.00 KB
  • 文档页数:15

《线性系统理论》大作业报告引言:研究线性定常连续系统状态方程的解时,求解状态方程是进行动态系统分析与综合的基础,是进行定量分析的主要方法。

而线性定常连续系统状态方程的解由两个部分相加组成。

第一个部分是由初始状态所引起的自由运动,即状态的零输入响;第二个部分是由输入所引起的系统强迫运动,其值为输入函数与矩阵指数函数的卷积,即状态的零状态响应。

由于这两部分中都包含有状态转移矩阵,因此状态转移矩阵的计算是线性定常连续系统状态方程求解的关键。

本文先总结了的计算方法,并运用matlab命令求解证明各方法的正确性及给出相应的零输入响应仿真结果。

然后推导了脉冲响应的公式,希望通过飞机模型的例子来研究其系统的脉冲响应。

最后推广研究了任意输入的零状态响应。

第一部分的计算方法及零输入响应的仿真证明一.的计算方法1.根据的定义直接计算定义式是一个无穷级数,故在计算中必须考虑级数的收敛条件和计算收敛速度问题。

类似于标量指数函数,对所有有限的常数矩阵A和有限的时间t来说,矩阵指数函数这个无穷级数都是收敛的。

显然用此方法计算一般不能写成封闭的解析形式,只能得到数值计算的结果。

2.变换A为约旦标准型因为任何都可经线性变换成为对角矩阵或约旦矩阵,因此下面将利用对角矩阵和约旦矩阵的矩阵指数函数计算的简便性质,通过线性变换将一般形式的系统矩阵变换成对角矩阵或约旦矩阵计算其矩阵指数函数。

对于矩阵A,若经过非奇异变换(相似变换)矩阵P作变换后,有则3. 利用拉氏反变换求已知齐次方程两边取拉氏变换即对上式两边取拉氏反变换得齐次微分方程的解:而由定义法求得的齐次微分方程的解为比较两式得4. 应用凯莱—哈密顿定理求(1)由凯莱—哈密顿定理,方阵A 满足其自身的特征方程,即()1110 0n n n fA A a A a A a I--=++++=故121210...n n n n n A a A a A a A a I ----=-----它是的线性组合。

同理1121210121211202102121212311010*(...)(...)(...)()()...()n n n n n n n n n n n n n n n n n n n n n n A A A a A a A a A a A a a A a A a I a A a A a A a a Aa a a A a a a A a a I +-------------------==--+++=------+++=-+-++-+以此类推,都可用的线性表示。

(2)在定义中,用(1)的方法可以消去A 的n 及n 以上的幂次项,即所以此方法的关键是要求得。

这里提出计算的一般公式。

当特征值互异时,则123210111211222212333211()1...()1...()1 (1).........()1...n n t n t n t n t n nn n a t e a t e a t e a t e λλλλλλλλλλλλλλλλ-----⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦当A 的特征值相同时,为时,则11111021123112111111()000...01(1)!()000...1(1)1(2)!()........................012......(1)()1......t n t n n tn n tt e a t n a t n t e n a t n te a t e λλλλλλλλλλ-----⎡⎤⎢⎥-⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦二.仿真证明1、 第一种方法:定义法 程序如下: %定义法clear all ;close all ;clc; syms t %定义符号变量t disp('矩阵A 为') A=[0 1;-2 -3] e=eye(2);m2=factorial(2);%求2的阶乘m3=factorial(3);m4=factorial(4);disp('取最高次幂为4次时e^At为')M=e+A*t+(1/m2)*A^2*t^2+(1/m3)*A^3*t^3+(1/m4)*A^4*t^4;eAt=Mx0=[1;1];%设定系统的初始状态disp('系统零输入响应为:')xt=eAt*x0%求出系统零输入响应运行程序,输出结果如下:矩阵A为A =0 1-2 -3取最高次幂为4次时e^At为eAt =[ 1-t^2+t^3-7/12*t^4, t-3/2*t^2+7/6*t^3-5/8*t^4] [ -2*t+3*t^2-7/3*t^3+5/4*t^4, 1-3*t+7/2*t^2-5/2*t^3+31/24*t^4]系统零输入响应为:xt =1-5/2*t^2+13/6*t^3-29/24*t^4+t-5*t+13/2*t^2-29/6*t^3+61/24*t^4+1以下程序输出由此eAt求出的零输入响应的状态变化:t=0:0.1:3;xt =[1-5/2*t^2+13/6*t^3-29/24*t^4+t; -5*t+13/2*t^2-29/6*t^3+61/24*t^4+1]; plot(t,xt);xlabel(‘时间t’);title(‘零输入响应的状态变化’);grid;显示结果如下图:结论:利用定义法近似去计算状态转移矩阵所得的结果,与利用其他方法计算的状态转移矩阵在t较小时近似相等。

该方法可用于较为粗略的计算状态转移矩阵。

方法二:特征值不同情况下的程序如下:%特征值互异clear all;close all;clc;a=[0 1;-2 -3];syms t;[V,D] = eig(a);phet=V*expm(D*t)*(inv(V));disp('状态转移矩阵eAt为:')eAt=phetx0=[1;1];disp('系统零输入响应为:')xt=eAt*x0运行结果如下:状态转移矩阵eAt为eAt =[ 2*exp(-t)-exp(-2*t), exp(-t)-exp(-2*t)][ -2*exp(-t)+2*exp(-2*t), -exp(-t)+2*exp(-2*t)]系统零输入响应为xt =3*exp(-t)-2*exp(-2*t)-3*exp(-t)+4*exp(-2*t)以下程序输出由此eAt求出的零输入响应的状态变化:t=0:0.1:3;xt=[3*exp(-t)-2*exp(-2*t);-3*exp(-t)+4*exp(-2*t)];plot(t,xt);grid;xlabel(‘时间t’);title(‘零输入响应的状态变化’);输出结果如下:第二种方法(约旦块矩阵法):有相同特征值情况下的程序如下:%特征值相同%约旦块矩阵法clear all;close all;clc;syms ta=[0 1 0;0 0 1;2 -5 4];J=jordan(a);phet=expm(J*t);disp('状态转移矩阵eAt为:')eAt=phetx0=[1;1;1];disp('系统零输入响应为:')xt=eAt*x0运行结果如下:状态转移矩阵eAt为eAt =[ exp(2*t), 0, 0][ 0, exp(t), t*exp(t)][ 0, 0, exp(t)]系统零输入响应为xt =exp(2*t)exp(t)+t*exp(t)exp(t)以下程序输出由此eAt求出的零输入响应的状态变化:t=0:0.01:3;xt=[exp(2*t);exp(t)+t.*exp(t);exp(t)];plot(t,xt);grid;xlabel(‘时间t’);title(‘零输入响应的状态变化’);输出结果如下图:第三种方法:程序如下clear all;close all;clc;a=[0 1;-2 -3];syms s;G=inv(s*eye(size(a))-a);phet=ilaplace(G);disp('状态转移矩阵eAt为:')eAt=phetx0=[1;1];disp('系统零输入响应为:')xt=eAt*x0输出结果如下:状态转移矩阵eAt为eAt =[ 2*exp(-t)-exp(-2*t), 2*exp(-3/2*t)*sinh(1/2*t)][ -4*exp(-3/2*t)*sinh(1/2*t), 2*exp(-2*t)-exp(-t)]系统零输入响应为xt =2*exp(-t)-exp(-2*t)+2*exp(-3/2*t)*sinh(1/2*t)-4*exp(-3/2*t)*sinh(1/2*t)+2*exp(-2*t)-exp(-t)以下程序输出由此eAt求出的零输入响应的状态变化:t=0:0.01:3;xt=[-exp(-2*t)+2*exp(-t)+2*exp(-3/2*t).*sinh(1/2*t);-4*exp(-3/2*t).*sinh(1/2*t)+2*exp(-2*t)-exp (-t)];plot(t,xt);grid on;xlabel('时间t');title('零输入响应的状态变化');输出结果如下图:第四种方法:程序如下:%凯莱哈密顿法clear all;close all;clc;syms tA=[0 1;-2 -3];b1=-1;b2=-2;b=[1 b1;1 b2]c=inv(b)e=[exp(b1*t);exp(b2*t)]a=c*ea0=a(1,1)a1=a(2,1)phet=a0*eye(size(A))+a1*Adisp('状态转移矩阵eAt为:')eAt=phet;x0=[1;1];disp('系统零输入响应为:')xt=eAt*x0输出结果如下:状态转移矩阵eAt为eAt =[ 2*exp(-t)-exp(-2*t), exp(-t)-exp(-2*t)] [ -2*exp(-t)+2*exp(-2*t), -exp(-t)+2*exp(-2*t)]系统零输入响应为:xt =3*exp(-t)-2*exp(-2*t)-3*exp(-t)+4*exp(-2*t)以下程序输出由此eAt求出的零输入响应的状态变化:t=0:0.01:3;xt=[3*exp(-t)-2*exp(-2*t);-3*exp(-t)+4*exp(-2*t)];plot(t,xt);grid on;xlabel('时间t');title('零输入响应的状态变化');输出结果如下图:第二部分推导脉冲响应公式及举例说明脉冲响应一.脉冲响应即零状态响应的公式对于非齐次微分方程微分方程:当初始时刻,初始状态时,其解为对于脉冲响应,此时脉冲响应为二.举例说明现在希望通过飞机模型来说明基于第一节中的计算方法来研究其系统的脉冲响应。