Chapter9.1:线性系统状态空间基础(下)
该系列博客主要讲述Matlab软件在自动控制方面的应用,如无自动控制理论基础,请先学习自动控制系列博文,该系列博客不再详细讲解自动控制理论知识。
自动控制理论基础相关链接:https://blog.csdn.net/qq_39032096/category_10287468.html?spm=1001.2014.3001.5482
博客参考书籍:《MATLAB/Simulink与控制系统仿真》。
1.线性系统状态空间基础
1.3 线性定常连续系统状态方程的解
1.3.1 齐次状态方程的解
状态方程为:
x˙(t)=Ax(t)\\dot{x}(t)=Ax(t) x˙(t)=Ax(t)
上式称为齐次状态方程,通常采用幂级数法和拉普拉斯变换法求解;
-
幂级数法
设齐次状态方程的解是ttt的向量幂级数,
x(t)=b0+b1t+b2t2+⋯+bktk+⋯+x(t)=b_0+b_1t+b_2t^2+\\dots+b_kt^k+\\dots+ x(t)=b0+b1t+b2t2+⋯+bktk+⋯+
式中,x,b0,b1,…,bk,…x,b_0,b_1,\\dots,b_k,\\dotsx,b0,b1,…,bk,…都是nnn维向量;
x˙(t)=b1+2b2t+⋯+kbktk−1+⋯=A(b0+b1t+b2t2+⋯+bktk+…)\\dot{x}(t)=b_1+2b_2t+\\dots+kb_kt^{k-1}+\\dots=A(b_0+b_1t+b_2t^2+\\dots+b_kt^k+\\dots) x˙(t)=b1+2b2t+⋯+kbktk−1+⋯=A(b0+b1t+b2t2+⋯+bktk+…)
可得:
x(t)=(I+At+12A2t2+⋯+1k!Aktk+⋯+)x(0)x(t)=\\left(I+At+\\frac{1}{2}A^2t^2+\\dots+\\frac{1}{k!}A^kt^k+\\dots+\\right)x(0) x(t)=(I+At+21A2t2+⋯+k!1Aktk+⋯+)x(0)
定义:
eAt=I+At+12A2t2+⋯+1k!Aktk+⋯+=∑k=0∞1k!Aktk{\\rm e}^{At}=I+At+\\frac{1}{2}A^2t^2+\\dots+\\frac{1}{k!}A^kt^k+\\dots+=\\sum_{k=0}^\\infty\\frac{1}{k!}A^kt^k eAt=I+At+21A2t2+⋯+k!1Aktk+⋯+=k=0∑∞k!1Aktk
则有:
x(t)=eAtx(0)x(t)={\\rm e}^{At}x(0) x(t)=eAtx(0)
标量微分方程x˙=ax\\dot{x}=axx˙=ax的解为:x(t)=eatx(0),eatx(t)={\\rm e}^{at}x(0),{\\rm e}^{at}x(t)=eatx(0),eat称为指数函数,向量微分方程具有相似形式的解,故把eAt{\\rm e}^{At}eAt称为矩阵指数函数,简称矩阵指数;由于x(t)x(t)x(t)由x(0)x(0)x(0)转移而来,对于线性定常系统,eAt{\\rm e}^{At}eAt亦称状态转移矩阵,记为Φ(t)\\Phi(t)Φ(t),即:
Φ(t)=eAt\\Phi(t)={\\rm e}^{At} Φ(t)=eAt -
拉普拉斯变换法
状态方程:
x˙(t)=Ax(t)\\dot{x}(t)=Ax(t) x˙(t)=Ax(t)
将上式进行拉氏变换,
sX(s)=AX(s)+x(0)sX(s)=AX(s)+x(0) sX(s)=AX(s)+x(0)
则有:
X(s)=(sI−A)−1x(0)X(s)=(sI-A)^{-1}x(0) X(s)=(sI−A)−1x(0)
进行拉氏反变换:
x(t)=L−1[(sI−A)−1]x(0)x(t)=L^{-1}\\left[(sI-A)^{-1}\\right]x(0) x(t)=L−1[(sI−A)−1]x(0)
可得:
eAt=L−1[(sI−A)−1]{\\rm e}^{At}=L^{-1}\\left[(sI-A)^{-1}\\right] eAt=L−1[(sI−A)−1]
1.3.2 状态转移矩阵的运算性质
状态转移矩阵Φ(t)\\Phi(t)Φ(t)的幂级数展开式:
Φ(t)=eAt=I+At+12A2t2+⋯+1k!Aktk+⋯\\Phi(t)={\\rm e}^{At}=I+At+\\frac{1}{2}A^2t^2+\\dots+\\frac{1}{k!}A^kt^k+\\cdots Φ(t)=eAt=I+At+21A2t2+⋯+k!1Aktk+⋯
-
Φ(0)=I\\Phi(0)=IΦ(0)=I;
-
Φ˙(t)=AΦ(t)=Φ(t)A\\dot{\\Phi}(t)=A\\Phi(t)=\\Phi(t)AΦ˙(t)=AΦ(t)=Φ(t)A;
-
Φ(t1±t2)=Φ(t1)Φ(±t2)=Φ(±t2)Φ(t1)\\Phi(t_1±t_2)=\\Phi(t_1)\\Phi(±t_2)=\\Phi(±t_2)\\Phi(t_1)Φ(t1±t2)=Φ(t1)Φ(±t2)=Φ(±t2)Φ(t1);
-
Φ−1(t)=Φ(−t),Φ−1(−t)=Φ(t)\\Phi^{-1}(t)=\\Phi(-t),\\Phi^{-1}(-t)=\\Phi(t)Φ−1(t)=Φ(−t),Φ−1(−t)=Φ(t);
-
x(t2)=Φ(t2−t1)x(t1)x(t_2)=\\Phi(t_2-t_1)x(t_1)x(t2)=Φ(t2−t1)x(t1);
-
Φ(t2−t0)=Φ(t2−t1)Φ(t1−t0)\\Phi(t_2-t_0)=\\Phi(t_2-t_1)\\Phi(t_1-t_0)Φ(t2−t0)=Φ(t2−t1)Φ(t1−t0);
-
[Φ(t)]k=Φ(kt)[\\Phi(t)]^k=\\Phi(kt)[Φ(t)]k=Φ(kt);
-
若Φ(t)\\Phi(t)Φ(t)为x˙(t)=Ax(t)\\dot{x}(t)=Ax(t)x˙(t)=Ax(t)的状态转移矩阵,则引入非奇异变换x=Px‾x=P\\overline{x}x=Px后的状态转移矩阵为:Φ‾(t)=P−1eAtP\\overline{\\Phi}(t)=P^{-1}{\\rm e}^{At}PΦ(t)=P−1eAtP;
-
两种常见的状态转移矩阵;设A=diag[λ1,λ2,…,λn]A={\\rm diag}[\\lambda_1,\\lambda_2,\\dots,\\lambda_n]A=diag[λ1,λ2,…,λn],即AAA为对角阵,且具有互异元素,则:
Φ(t)=[eλ1teλ2t⋱eλnt]\\Phi(t)= \\begin{bmatrix} {\\rm e}^{\\lambda_1t}& & &\\\\ & {\\rm e}^{\\lambda_2t} & & \\\\ &&\\ddots\\\\ &&&{\\rm e}^{\\lambda_nt} \\end{bmatrix} Φ(t)=eλ1teλ2t⋱eλnt
设AAA阵为m×mm\\times{m}m×m约当阵:
A=[λ1λ⋱⋱1λ]A= \\begin{bmatrix} \\lambda & 1 & &\\\\ &\\lambda & \\ddots\\\\ &&\\ddots & 1\\\\ &&&\\lambda \\end{bmatrix} A=λ1λ⋱⋱1λ
则:
Φ(t)=[eλtteλtt22eλt⋯tm−1(m−1)!eλt0eλtteλt⋯tm−2(m−2)!eλt⋮⋮⋮⋮000⋯teλt000⋯eλt]\\Phi(t)= \\begin{bmatrix} {\\rm e}^{\\lambda{t}} & t{\\rm e}^{\\lambda{t}} & \\displaystyle\\frac{t^2}{2}{\\rm e}^{\\lambda{t}}&\\cdots & \\displaystyle\\frac{t^{m-1}}{(m-1)!}{\\rm e}^{\\lambda{t}}\\\\ 0 & {\\rm e}^{\\lambda{t}} & t{\\rm e}^{\\lambda{t}} & \\cdots & \\displaystyle\\frac{t^{m-2}}{(m-2)!}{\\rm e}^{\\lambda{t}}\\\\ \\vdots & \\vdots & \\vdots & &\\vdots\\\\ 0 & 0 & 0 & \\cdots & t{\\rm e}^{\\lambda{t}}\\\\ 0 & 0 & 0 & \\cdots & {\\rm e}^{\\lambda{t}} \\end{bmatrix} Φ(t)=eλt0⋮00teλteλt⋮002t2eλtteλt⋮00⋯⋯⋯⋯(m−1)!tm−1eλt(m−2)!tm−2eλt⋮teλteλt
实例分析:Example4: 设状态方程为:
[x˙1(t)x˙2(t)]=[01−2−3][x1(t)x2(t)]\\begin{bmatrix} \\dot{x}_1(t)\\\\ \\dot{x}_2(t) \\end{bmatrix}= \\begin{bmatrix} 0 & 1\\\\ -2 & -3 \\end{bmatrix} \\begin{bmatrix} x_1(t)\\\\ x_2(t) \\end{bmatrix} [x˙1(t)x˙2(t)]=[0−21−3][x1(t)x2(t)]
求状态方程的解.解:
用拉氏变换求解:
sI−A=[s00s]−[01−2−3]=[s−12s+3]sI-A= \\begin{bmatrix} s & 0\\\\ 0 & s \\end{bmatrix}- \\begin{bmatrix} 0 & 1 \\\\ -2 & -3 \\end{bmatrix}= \\begin{bmatrix} s & -1 \\\\ 2 & s+3 \\end{bmatrix} sI−A=[s00s]−[0−21−3]=[s2−1s+3](sI−A)−1=adj(sI−A)∣sI−A∣=1(s+1)(s+2)[s+31−2s]=[2s+1−1s+21s+1−1s+2−2s+1+2s+2−1s+1+2s+2]\\begin{aligned} (sI-A)^{-1}&=\\frac{{\\rm adj}(sI-A)}{|sI-A|}=\\frac{1}{(s+1)(s+2)} \\begin{bmatrix} s+3 & 1 \\\\ -2 & s \\end{bmatrix}\\\\\\\\&= \\begin{bmatrix} \\displaystyle\\frac{2}{s+1}-\\displaystyle\\frac{1}{s+2} & \\displaystyle\\frac{1}{s+1}-\\displaystyle\\frac{1}{s+2}\\\\\\\\ \\displaystyle\\frac{-2}{s+1}+\\displaystyle\\frac{2}{s+2} & \\displaystyle\\frac{-1}{s+1}+\\displaystyle\\frac{2}{s+2} \\end{bmatrix} \\end{aligned} (sI−A)−1=∣sI−A∣adj(sI−A)=(s+1)(s+2)1[s+3−21s]=s+12−s+21s+1−2+s+22s+11−s+21s+1−1+s+22
可得:
Φ(t)=L−1[(sI−A)−1]=[2e−t−e−2te−t−e−2t−2e−t+2e−2t−e−t+2e−2t]\\Phi(t)=L^{-1}\\left[(sI-A)^{-1}\\right]= \\begin{bmatrix} 2{\\rm e}^{-t}-{\\rm e}^{-2t} & {\\rm e}^{-t}-{\\rm e}^{-2t}\\\\ -2{\\rm e}^{-t}+2{\\rm e}^{-2t} & -{\\rm e}^{-t}+2{\\rm e}^{-2t} \\end{bmatrix} Φ(t)=L−1[(sI−A)−1]=[2e−t−e−2t−2e−t+2e−2te−t−e−2t−e−t+2e−2t]
状态方程的解为:
[x1(t)x2(t)]=Φ(t)[x1(0)x2(0)]=[2e−t−e−2te−t−e−2t−2e−t+2e−2t−e−t+2e−2t][x1(0)x2(0)]\\begin{bmatrix} x_1(t)\\\\ x_2(t) \\end{bmatrix}= \\Phi(t)\\begin{bmatrix}x_1(0)\\\\x_2(0)\\end{bmatrix}= \\begin{bmatrix} 2{\\rm e}^{-t}-{\\rm e}^{-2t} & {\\rm e}^{-t}-{\\rm e}^{-2t}\\\\ -2{\\rm e}^{-t}+2{\\rm e}^{-2t} & -{\\rm e}^{-t}+2{\\rm e}^{-2t} \\end{bmatrix} \\begin{bmatrix} x_1(0)\\\\ x_2(0) \\end{bmatrix} [x1(t)x2(t)]=Φ(t)[x1(0)x2(0)]=[2e−t−e−2t−2e−t+2e−2te−t−e−2t−e−t+2e−2t][x1(0)x2(0)]
1.3.3 非齐次状态方程的解
非齐次状态方程如下:
x˙(t)=Ax(t)+Bu(t)\\dot{x}(t)=Ax(t)+Bu(t) x˙(t)=Ax(t)+Bu(t)
方程的解为:
x(t)=Φ(t)x(0)+∫0tΦ(t−τ)Bu(τ)dτx(t)=\\Phi(t)x(0)+\\int_0^t\\Phi(t-\\tau)Bu(\\tau){\\rm d}\\tau x(t)=Φ(t)x(0)+∫0tΦ(t−τ)Bu(τ)dτ
式中第一项是对初始状态的响应,第二项是对输入作用的响应;
亦可表示为:
x(t)=Φ(t)x(0)+∫0tΦ(τ)Bu(t−τ)dτx(t)=\\Phi(t)x(0)+\\int_{0}^t\\Phi(\\tau)Bu(t-\\tau){\\rm d}\\tau x(t)=Φ(t)x(0)+∫0tΦ(τ)Bu(t−τ)dτ
实例分析:
Example5: 系统状态方程为:
[x˙1x˙2]=[01−2−3][x1x2]+[01]u\\begin{bmatrix} \\dot{x}_1\\\\ \\dot{x}_2 \\end{bmatrix}= \\begin{bmatrix} 0 & 1\\\\ -2 & -3 \\end{bmatrix} \\begin{bmatrix} x_1\\\\ x_2 \\end{bmatrix}+ \\begin{bmatrix} 0\\\\ 1 \\end{bmatrix}u [x˙1x˙2]=[0−21−3][x1x2]+[01]u
且x(0)=[x1(0)x2(0)]Tx(0)=\\begin{bmatrix}x_1(0) & x_2(0)\\end{bmatrix}^Tx(0)=[x1(0)x2(0)]T;求在u(t)=1(t)u(t)=1(t)u(t)=1(t)作用下状态方程的解;
解:
由于:u(t)=1,u(t−τ)=1u(t)=1,u(t-\\tau)=1u(t)=1,u(t−τ)=1,可得:
x(t)=Φ(t)x(0)+∫0tΦ(t)Bdτx(t)=\\Phi(t)x(0)+\\int_{0}^t\\Phi(t)B{\\rm d}\\tau x(t)=Φ(t)x(0)+∫0tΦ(t)Bdτ
sI−A=[s00s]−[01−2−3]=[s−12s+3]sI-A= \\begin{bmatrix} s & 0\\\\ 0 & s \\end{bmatrix}- \\begin{bmatrix} 0 & 1 \\\\ -2 & -3 \\end{bmatrix}= \\begin{bmatrix} s & -1 \\\\ 2 & s+3 \\end{bmatrix} sI−A=[s00s]−[0−21−3]=[s2−1s+3]
(sI−A)−1=adj(sI−A)∣sI−A∣=1(s+1)(s+2)[s+31−2s]=[2s+1−1s+21s+1−1s+2−2s+1+2s+2−1s+1+2s+2]\\begin{aligned} (sI-A)^{-1}&=\\frac{{\\rm adj}(sI-A)}{|sI-A|}=\\frac{1}{(s+1)(s+2)} \\begin{bmatrix} s+3 & 1 \\\\ -2 & s \\end{bmatrix}\\\\\\\\&= \\begin{bmatrix} \\displaystyle\\frac{2}{s+1}-\\displaystyle\\frac{1}{s+2} & \\displaystyle\\frac{1}{s+1}-\\displaystyle\\frac{1}{s+2}\\\\\\\\ \\displaystyle\\frac{-2}{s+1}+\\displaystyle\\frac{2}{s+2} & \\displaystyle\\frac{-1}{s+1}+\\displaystyle\\frac{2}{s+2} \\end{bmatrix} \\end{aligned} (sI−A)−1=∣sI−A∣adj(sI−A)=(s+1)(s+2)1[s+3−21s]=s+12−s+21s+1−2+s+22s+11−s+21s+1−1+s+22
Φ(t)=L−1[(sI−A)−1]=[2e−t−e−2te−t−e−2t−2e−t+2e−2t−e−t+2e−2t]\\Phi(t)=L^{-1}\\left[(sI-A)^{-1}\\right]= \\begin{bmatrix} 2{\\rm e}^{-t}-{\\rm e}^{-2t} & {\\rm e}^{-t}-{\\rm e}^{-2t}\\\\ -2{\\rm e}^{-t}+2{\\rm e}^{-2t} & -{\\rm e}^{-t}+2{\\rm e}^{-2t} \\end{bmatrix} Φ(t)=L−1[(sI−A)−1]=[2e−t−e−2t−2e−t+2e−2te−t−e−2t−e−t+2e−2t]
∫0tΦ(τ)Bdτ=∫0t[e−τ−e−2τ−e−τ+2e−2τ]dτ=[−e−τ+12e−2τe−τ−e−2τ]∣0t=[−e−t+12e−2t+12e−t−e−2t]\\int_0^t\\Phi(\\tau)B{\\rm d}\\tau=\\int_0^t \\begin{bmatrix} {\\rm e}^{-\\tau}-{\\rm e}^{-2\\tau}\\\\ -{\\rm e}^{-\\tau}+2{\\rm e}^{-2\\tau} \\end{bmatrix}{\\rm d}\\tau= \\left.\\begin{bmatrix} -{\\rm e}^{-\\tau}+\\displaystyle\\frac{1}{2}{\\rm e}^{-2\\tau}\\\\ {\\rm e}^{-\\tau}-{\\rm e}^{-2\\tau} \\end{bmatrix}\\right|_0^t= \\begin{bmatrix} -{\\rm e}^{-t}+\\displaystyle\\frac{1}{2}{\\rm e}^{-2t}+\\displaystyle\\frac{1}{2}\\\\ {\\rm e}^{-t}-{\\rm e}^{-2t} \\end{bmatrix} ∫0tΦ(τ)Bdτ=∫0t[e−τ−e−2τ−e−τ+2e−2τ]dτ=[−e−τ+21e−2τe−τ−e−2τ]0t=[−e−t+21e−2t+21e−t−e−2t]
因此:
x(t)=[x1(t)x2(t)]=[2e−t−e−2te−t−e−2t−2e−t+2e−2t−e−t+2e−2t][x1(0)x2(0)]+[−e−t+12e−2t+12e−t−e−2t]x(t)= \\begin{bmatrix} x_1(t)\\\\ x_2(t) \\end{bmatrix}= \\begin{bmatrix} 2{\\rm e}^{-t}-{\\rm e}^{-2t} & {\\rm e}^{-t}-{\\rm e}^{-2t}\\\\ -2{\\rm e}^{-t}+2{\\rm e}^{-2t} & -{\\rm e}^{-t}+2{\\rm e}^{-2t} \\end{bmatrix} \\begin{bmatrix} x_1(0)\\\\ x_2(0) \\end{bmatrix}+ \\begin{bmatrix} -{\\rm e}^{-t}+\\displaystyle\\frac{1}{2}{\\rm e}^{-2t}+\\displaystyle\\frac{1}{2}\\\\ {\\rm e}^{-t}-{\\rm e}^{-2t} \\end{bmatrix} x(t)=[x1(t)x2(t)]=[2e−t−e−2t−2e−t+2e−2te−t−e−2t−e−t+2e−2t][x1(0)x2(0)]+[−e−t+21e−2t+21e−t−e−2t]
1.4 系统的传递函数矩阵
初始条件为零时,输出向量的拉氏变换式与输入向量的拉氏变换式之间的传递关系称为传递函数矩阵,简称传递矩阵;设动态方程为:
x˙(t)=Ax(t)+Bu(t),y(t)=Cx(t)+Du(t)\\dot{x}(t)=Ax(t)+Bu(t),y(t)=Cx(t)+Du(t) x˙(t)=Ax(t)+Bu(t),y(t)=Cx(t)+Du(t)
令初始条件为零,进行拉氏变换:
Y(s)=[C(sI−A)−1B+D]U(s)=G(s)U(s)Y(s)=\\left[C(sI-A)^{-1}B+D\\right]U(s)=G(s)U(s) Y(s)=[C(sI−A)−1B+D]U(s)=G(s)U(s)
系统的传递函数矩阵表达式为:
G(s)=C(sI−A)−1B+DG(s)=C(sI-A)^{-1}B+D G(s)=C(sI−A)−1B+D
若输入uuu为ppp维向量,输出yyy维qqq维向量,则G(s)G(s)G(s)为q×pq\\times{p}q×p矩阵;
展开式:
[Y1(s)Y2(s)⋮Yq(s)]=[G11(s)G12(s)⋯G1p(s)G21(s)G22(s)⋯G2p(s)⋮⋮⋮Gq1(s)Gq2(s)⋯Gqp(s)][U1(s)U2(s)⋮Up(s)]\\begin{bmatrix} Y_1(s)\\\\ Y_2(s)\\\\ \\vdots\\\\ Y_q(s) \\end{bmatrix}= \\begin{bmatrix} G_{11}(s) & G_{12(s)} & \\cdots & G_{1p}(s)\\\\ G_{21}(s) & G_{22(s)} & \\cdots & G_{2p}(s)\\\\ \\vdots & \\vdots & & \\vdots\\\\ G_{q1}(s) & G_{q2(s)} & \\cdots & G_{qp}(s) \\end{bmatrix} \\begin{bmatrix} U_1(s)\\\\ U_2(s)\\\\ \\vdots\\\\ U_p(s) \\end{bmatrix} Y1(s)Y2(s)⋮Yq(s)=G11(s)G21(s)⋮Gq1(s)G12(s)G22(s)⋮Gq2(s)⋯⋯⋯G1p(s)G2p(s)⋮Gqp(s)U1(s)U2(s)⋮Up(s)
式中:Gij(s)(i=1,2,…,q;j=1,2,…,p)G_{ij}(s)(i=1,2,\\dots,q;j=1,2,\\dots,p)Gij(s)(i=1,2,…,q;j=1,2,…,p)表示第iii个输出量与第jjj个输入量之间的传递函数;
实例分析:
Example6: 已知系统动态方程为:
[x˙1x˙2]=[010−2][x1x2]+[1001][u1u2][y1y2]=[1001][x1x2]\\begin{aligned} &\\begin{bmatrix} \\dot{x}_1\\\\ \\dot{x}_2 \\end{bmatrix}= \\begin{bmatrix} 0 & 1\\\\ 0 & -2 \\end{bmatrix}\\begin{bmatrix} {x}_1\\\\ {x}_2 \\end{bmatrix}+\\begin{bmatrix} 1 & 0\\\\ 0 & 1 \\end{bmatrix}\\begin{bmatrix} {u}_1\\\\ {u}_2 \\end{bmatrix}\\\\\\\\ &\\begin{bmatrix} y_1\\\\ y_2 \\end{bmatrix}=\\begin{bmatrix} 1 & 0\\\\ 0 & 1 \\end{bmatrix}\\begin{bmatrix} {x}_1\\\\ {x}_2 \\end{bmatrix} \\end{aligned} [x˙1x˙2]=[001−2][x1x2]+[1001][u1u2][y1y2]=[1001][x1x2]
求系统的传递矩阵.
解:
由题设可知,
A=[010−2],B=[1001],C=[1001],D=0A= \\begin{bmatrix} 0 & 1\\\\ 0 & -2 \\end{bmatrix},B= \\begin{bmatrix} 1 & 0\\\\ 0 & 1 \\end{bmatrix},C= \\begin{bmatrix} 1 & 0\\\\ 0 & 1 \\end{bmatrix},D=0 A=[001−2],B=[1001],C=[1001],D=0
故:
(sI−A)−1=[s−10s+2]−1=[1s1s(s+2)01s+2](sI-A)^{-1}= \\begin{bmatrix} s & -1\\\\ 0 & s+2 \\end{bmatrix}^{-1}=\\begin{bmatrix} \\displaystyle\\frac{1}{s} & \\displaystyle\\frac{1}{s(s+2)}\\\\\\\\ 0 & \\displaystyle\\frac{1}{s+2} \\end{bmatrix} (sI−A)−1=[s0−1s+2]−1=s10s(s+2)1s+21
可得系统传递矩阵:
G(s)=C(sI−A)−1B+D=[1001][1s1s(s+2)01s+2][1001]=[1s1s(s+2)01s+2]G(s)=C(sI-A)^{-1}B+D=\\begin{bmatrix} 1 & 0\\\\ 0 & 1 \\end{bmatrix}\\begin{bmatrix} \\displaystyle\\frac{1}{s} & \\displaystyle\\frac{1}{s(s+2)}\\\\\\\\ 0 & \\displaystyle\\frac{1}{s+2} \\end{bmatrix} \\begin{bmatrix} 1 & 0\\\\ 0 & 1 \\end{bmatrix}= \\begin{bmatrix} \\displaystyle\\frac{1}{s} & \\displaystyle\\frac{1}{s(s+2)}\\\\\\\\ 0 & \\displaystyle\\frac{1}{s+2} \\end{bmatrix} G(s)=C(sI−A)−1B+D=[1001]s10s(s+2)1s+21[1001]=s10s(s+2)1s+21
1.5 线性离散系统状态空间表达式的建立及其解
- 离散系统特点:系统中的各个变量被处理成为只在离散时刻取值,其状态空间描述只反映离散时刻的变量组间的因果关系和转换关系,因而这类系统通常称为离散时间系统,简称离散系统;
- 线性离散系统的动态方程可以利用系统的差分方程建立,可以利用线性连续动态方程的离散化得到;
1.5.1 由差分方程建立动态方程
经典控制理论中离散系统通常用差分方程或脉冲传递函数描述,单输入-单输出线性定常离散系统差分方程的一般形式为:
y(k+n)+an−1y(k+n−1)+⋯+a1y(k+1)+a0y(k)=bnu(k+n)+bn−1u(k+n−1)+⋯+b1u(k+1)+b0u(k)\\begin{aligned} &y(k+n)+a_{n-1}y(k+n-1)+\\dots+a_1y(k+1)+a_0y(k)\\\\\\\\ =&b_nu(k+n)+b_{n-1}u(k+n-1)+\\dots+b_1u(k+1)+b_0u(k) \\end{aligned} =y(k+n)+an−1y(k+n−1)+⋯+a1y(k+1)+a0y(k)bnu(k+n)+bn−1u(k+n−1)+⋯+b1u(k+1)+b0u(k)
其中:kkk表示kTkTkT时刻,TTT为采样周期,y(k),u(k)y(k),u(k)y(k),u(k)分别为kTkTkT时刻的输出量和输入量;ai,bi(i=0,1,2,…,n,且an=1)a_i,b_i(i=0,1,2,\\dots,n,且a_n=1)ai,bi(i=0,1,2,…,n,且an=1)为表征系统特性的常系数;
考虑初始条件为零时的zzz变换关系有:
Z[y(k)]=Y(z),Z[y(k+i)]=ziY(z)Z[y(k)]=Y(z),Z[y(k+i)]=z^iY(z) Z[y(k)]=Y(z),Z[y(k+i)]=ziY(z)
对差分方程取zzz变换,可得:
G(z)=Y(z)U(z)=bnzn+bn−1zn−1+⋯+b1z+b0zn+an−1zn−1+⋯+a1z+a0=bn+βn−1zn−1+⋯+β1z+β0zn+an−1zn−1+⋯+a1z+a0=bn+N(z)D(z)\\begin{aligned} G(z)&=\\frac{Y(z)}{U(z)}=\\frac{b_nz^n+b_{n-1}z^{n-1}+\\dots+b_1z+b_0}{z^n+a_{n-1}z^{n-1}+\\dots+a_1z+a_0}\\\\\\\\ &=b_n+\\frac{\\beta_{n-1}z^{n-1}+\\dots+\\beta_1z+\\beta_0}{z^n+a_{n-1}z^{n-1}+\\dots+a_1z+a_0}=b_n+\\frac{N(z)}{D(z)} \\end{aligned} G(z)=U(z)Y(z)=zn+an−1zn−1+⋯+a1z+a0bnzn+bn−1zn−1+⋯+b1z+b0=bn+zn+an−1zn−1+⋯+a1z+a0βn−1zn−1+⋯+β1z+β0=bn+D(z)N(z)
G(z)G(z)G(z)称为脉冲传递函数;
N(z)/D(z)N(z)/D(z)N(z)/D(z)串联分解,引入中间变量Q(z)Q(z)Q(z),有:
znQ(z)+an−1zn−1Q(z)+⋯+a1zQ(z)+a0Q(z)=U(z)Y(z)=βn−1zn−1Q(z)+⋯+β1zQ(z)+β0Q(z)\\begin{aligned} &z^nQ(z)+a_{n-1}z^{n-1}Q(z)+\\dots+a_1zQ(z)+a_0Q(z)=U(z)\\\\\\\\ &Y(z)=\\beta_{n-1}z^{n-1}Q(z)+\\dots+\\beta_1zQ(z)+\\beta_0Q(z) \\end{aligned} znQ(z)+an−1zn−1Q(z)+⋯+a1zQ(z)+a0Q(z)=U(z)Y(z)=βn−1zn−1Q(z)+⋯+β1zQ(z)+β0Q(z)
最后向量-矩阵形式为:
[x1(k+1)x2(k+1)⋮xn−1(k+1)xn(k+1)]=[010⋯0001⋯0⋮⋮⋮⋮000⋯1−a0−a1−a2⋯−an−1][x1(k)x2(k)⋮xn−1(k)xn(k)]+[00⋮01]u(k)\\begin{bmatrix} x_1(k+1)\\\\ x_2(k+1)\\\\ \\vdots\\\\ x_{n-1}(k+1)\\\\ x_n(k+1) \\end{bmatrix}= \\begin{bmatrix} 0 & 1 & 0 & \\cdots & 0\\\\ 0 & 0 & 1 & \\cdots & 0\\\\ \\vdots & \\vdots & \\vdots & & \\vdots\\\\ 0 & 0 & 0 & \\cdots & 1\\\\ -a_0 & -a_1 & -a_2 & \\cdots & -a_{n-1} \\end{bmatrix} \\begin{bmatrix} x_1(k)\\\\ x_2(k)\\\\ \\vdots\\\\ x_{n-1}(k)\\\\ x_n(k) \\end{bmatrix}+ \\begin{bmatrix} 0\\\\ 0\\\\ \\vdots\\\\ 0\\\\ 1 \\end{bmatrix}u(k) x1(k+1)x2(k+1)⋮xn−1(k+1)xn(k+1)=00⋮0−a010⋮0−a101⋮0−a2⋯⋯⋯⋯00⋮1−an−1x1(k)x2(k)⋮xn−1(k)xn(k)+00⋮01u(k)
y(k)=[β0β1⋯βn−1]x(k)+bnu(k)y(k)=\\begin{bmatrix}\\beta_0 & \\beta_1 & \\cdots & \\beta_{n-1}\\end{bmatrix}x(k)+b_nu(k) y(k)=[β0β1⋯βn−1]x(k)+bnu(k)
简记:
x(k+1)=Gx(k)+hu(k)y(k)=cx(k)+du(k)\\begin{aligned} &x(k+1)=Gx(k)+hu(k)\\\\\\\\ &y(k)=cx(k)+du(k) \\end{aligned} x(k+1)=Gx(k)+hu(k)y(k)=cx(k)+du(k)
其中:GGG为友矩阵,G,hG,hG,h为可控标准型;
离散系统状态方程描述了(k+1)T(k+1)T(k+1)T时刻的状态与kTkTkT时刻的状态及输入量之间的关系,其输出方程描述了kTkTkT时刻输出量与kTkTkT时刻的状态及输入量之间的关系;
线性定常多输入-多输出离散系统的动态方程为:
x(k+1)=Gx(k)+Hu(k)y(k)=Cx(k)+Du(k)\\begin{aligned} &x(k+1)=Gx(k)+Hu(k)\\\\\\\\ &y(k)=Cx(k)+Du(k) \\end{aligned} x(k+1)=Gx(k)+Hu(k)y(k)=Cx(k)+Du(k)
1.5.2 定常连续动态方程的离散化
已知定常连续系统状态方程:x˙=Ax+Bu\\dot{x}=Ax+Bux˙=Ax+Bu在x(t0)x(t_0)x(t0)及u(t)u(t)u(t)作用下的解为:
x(t)=Φ(t−t0)x(t0)+∫t0TΦ(t−τ)Bu(τ)dτx(t)=\\Phi(t-t_0)x(t_0)+\\int_{t_0}^T\\Phi(t-\\tau)Bu(\\tau){\\rm d}\\tau x(t)=Φ(t−t0)x(t0)+∫t0TΦ(t−τ)Bu(τ)dτ
离散化状态方程为:
x(k+1)=Φ(T)x(k)+G(T)u(k)x(k+1)=\\Phi(T)x(k)+G(T)u(k) x(k+1)=Φ(T)x(k)+G(T)u(k)
其中:
G(T)=∫0TΦ(τ′)Bdτ′和Φ(T)=Φ(t)∣t=TG(T)=\\int_0^T\\Phi(\\tau')B{\\rm d}\\tau'和\\Phi(T)=\\Phi(t)|_{t=T} G(T)=∫0TΦ(τ′)Bdτ′和Φ(T)=Φ(t)∣t=T
离散化系统的输出方程:
y(k)=Cx(k)+Du(k)y(k)=Cx(k)+Du(k) y(k)=Cx(k)+Du(k)
1.5.3 定常离散动态方程的解
离散化状态方程的解,亦称离散化状态转移方程:
x(k)=Φk(T)x(0)+∑i=0k−1Φk−1−i(T)G(T)u(i)x(k)=\\Phi^k(T)x(0)+\\sum_{i=0}^{k-1}\\Phi^{k-1-i}(T)G(T)u(i) x(k)=Φk(T)x(0)+i=0∑k−1Φk−1−i(T)G(T)u(i)
当u(i)=0(i=0,1,⋯,k−1)u(i)=0(i=0,1,\\cdots,k-1)u(i)=0(i=0,1,⋯,k−1)时,有:
x(k)=Φk(T)x(0)=Φ(kT)x(0)=Φ(k)x(0)x(k)=\\Phi^k(T)x(0)=\\Phi(kT)x(0)=\\Phi(k)x(0) x(k)=Φk(T)x(0)=Φ(kT)x(0)=Φ(k)x(0)
其中:Φ(k)\\Phi(k)Φ(k)称为离散化系统动态转移矩阵;
输出方程为:
y(k)=Cx(k)+Du(k)=CΦk(T)x(0)+C∑i=0k−1Φk−1−i(T)G(T)u(i)+Du(k)y(k)=Cx(k)+Du(k)=C\\Phi^k(T)x(0)+C\\sum_{i=0}^{k-1}\\Phi^{k-1-i}(T)G(T)u(i)+Du(k) y(k)=Cx(k)+Du(k)=CΦk(T)x(0)+Ci=0∑k−1Φk−1−i(T)G(T)u(i)+Du(k)
使用递推法可得离散动态方程的解:
x(k)=Gkx(0)+∑i=0k−1Gk−1−iHu(i)y(k)=CGkx(0)+C∑i=0k−1Gk−1−iHu(i)+Du(k)\\begin{aligned} &x(k)=G^kx(0)+\\sum_{i=0}^{k-1}G^{k-1-i}Hu(i)\\\\ &y(k)=CG^kx(0)+C\\sum_{i=0}^{k-1}G^{k-1-i}Hu(i)+Du(k) \\end{aligned} x(k)=Gkx(0)+i=0∑k−1Gk−1−iHu(i)y(k)=CGkx(0)+Ci=0∑k−1Gk−1−iHu(i)+Du(k)
式中:GkG^kGk表示kkk个GGG相乘;
实例分析:
Example8: 已知连续时间系统的状态方程为:
x˙=[01−2−3]x+[01]u\\dot{x}= \\begin{bmatrix} 0 & 1\\\\ -2 & -3 \\end{bmatrix}x+ \\begin{bmatrix} 0\\\\ 1 \\end{bmatrix}u x˙=[0−21−3]x+[01]u
设T=1T=1T=1,求相应离散时间状态方程.
解:
sI−A=[s00s]−[01−2−3]=[s−12s+3]sI-A= \\begin{bmatrix} s & 0\\\\ 0 & s \\end{bmatrix}- \\begin{bmatrix} 0 & 1 \\\\ -2 & -3 \\end{bmatrix}= \\begin{bmatrix} s & -1 \\\\ 2 & s+3 \\end{bmatrix} sI−A=[s00s]−[0−21−3]=[s2−1s+3]
(sI−A)−1=adj(sI−A)∣sI−A∣=1(s+1)(s+2)[s+31−2s]=[2s+1−1s+21s+1−1s+2−2s+1+2s+2−1s+1+2s+2]\\begin{aligned} (sI-A)^{-1}&=\\frac{{\\rm adj}(sI-A)}{|sI-A|}=\\frac{1}{(s+1)(s+2)} \\begin{bmatrix} s+3 & 1 \\\\ -2 & s \\end{bmatrix}\\\\\\\\&= \\begin{bmatrix} \\displaystyle\\frac{2}{s+1}-\\displaystyle\\frac{1}{s+2} & \\displaystyle\\frac{1}{s+1}-\\displaystyle\\frac{1}{s+2}\\\\\\\\ \\displaystyle\\frac{-2}{s+1}+\\displaystyle\\frac{2}{s+2} & \\displaystyle\\frac{-1}{s+1}+\\displaystyle\\frac{2}{s+2} \\end{bmatrix} \\end{aligned} (sI−A)−1=∣sI−A∣adj(sI−A)=(s+1)(s+2)1[s+3−21s]=s+12−s+21s+1−2+s+22s+11−s+21s+1−1+s+22
Φ(t)=L−1[(sI−A)−1]=[2e−t−e−2te−t−e−2t−2e−t+2e−2t−e−t+2e−2t]Φ(T)=Φ(t)∣t=T=1=[0.60040.2325−0.4651−0.0972]\\begin{aligned} &\\Phi(t)=L^{-1}\\left[(sI-A)^{-1}\\right]= \\begin{bmatrix} 2{\\rm e}^{-t}-{\\rm e}^{-2t} & {\\rm e}^{-t}-{\\rm e}^{-2t}\\\\ -2{\\rm e}^{-t}+2{\\rm e}^{-2t} & -{\\rm e}^{-t}+2{\\rm e}^{-2t} \\end{bmatrix}\\\\\\\\ &\\Phi(T)=\\Phi(t)|_{t=T=1}= \\begin{bmatrix} 0.6004 & 0.2325\\\\ -0.4651 & -0.0972 \\end{bmatrix} \\end{aligned} Φ(t)=L−1[(sI−A)−1]=[2e−t−e−2t−2e−t+2e−2te−t−e−2t−e−t+2e−2t]Φ(T)=Φ(t)∣t=T=1=[0.6004−0.46510.2325−0.0972]
G(T)=∫0TΦ(τ)Bdτ=∫0T[e−τ−e−2τ−e−τ+2e−2τ]dτ=[12−e−T+12e−2Te−T−e−2T]G(T)=\\int_0^T\\Phi(\\tau)B{\\rm d}\\tau=\\int_0^T\\begin{bmatrix}{\\rm e}^{-\\tau}-{\\rm e}^{-2\\tau}\\\\-{\\rm e}^{-\\tau}+2{\\rm e}^{-2\\tau}\\end{bmatrix}{\\rm d}\\tau= \\begin{bmatrix} \\displaystyle\\frac{1}{2}-{\\rm e}^{-T}+\\frac{1}{2}{\\rm e}^{-2T}\\\\ {\\rm e}^{-T}-{\\rm e}^{-2T} \\end{bmatrix} G(T)=∫0TΦ(τ)Bdτ=∫0T[e−τ−e−2τ−e−τ+2e−2τ]dτ=[21−e−T+21e−2Te−T−e−2T]
G(T)∣T=1=[12−e−T+12e−2Te−T−e−2T]∣T=1=[0.19980.2325]G(T)|_{T=1}=\\left.\\begin{bmatrix} \\displaystyle\\frac{1}{2}-{\\rm e}^{-T}+\\frac{1}{2}{\\rm e}^{-2T}\\\\ {\\rm e}^{-T}-{\\rm e}^{-2T} \\end{bmatrix}\\right|_{T=1}=\\begin{bmatrix}0.1998\\\\0.2325\\end{bmatrix} G(T)∣T=1=[21−e−T+21e−2Te−T−e−2T]T=1=[0.19980.2325]
1.6 MATLAB/SIMULINK在线性系统状态空间描述中的应用
1.6.1 实战1:求控制系统状态空间模型
实验要求:已知系统G1(s)G_1(s)G1(s)和G2(s)G_2(s)G2(s)的模型分别为:G1(s)=2s2+8s+6s3+8s2+16s+6,G2(s)=2(s+1)(s+3)s(s+2)(s+8)G_1(s)=\\displaystyle\\frac{2s^2+8s+6}{s^3+8s^2+16s+6},G_2(s)=\\displaystyle\\frac{2(s+1)(s+3)}{s(s+2)(s+8)}G1(s)=s3+8s2+16s+62s2+8s+6,G2(s)=s(s+2)(s+8)2(s+1)(s+3),求系统的状态空间模型。
解:
% 实例Chapter9.1.6.1
clc;clear;% 建立系统传递函数模型
num1=[2,8,6];den1=[1,8,16,6];
[A1,B1,C1,D1]=tf2ss(num1,den1)z=[-1,-3];p=[0,-2,-8];k=2;
[A2,B2,C2,D2]=zp2ss(z,p,k)
% G1的状态空间模型
A1 =-8 -16 -61 0 00 1 0
B1 =100
C1 =2 8 6
D1 =0% G2的状态空间模型
A2 =0 0 01 -10 -40 4 0
B2 =100
C2 =2.0000 -12.0000 -6.5000
D2 =0
-
系统G1(s)G_1(s)G1(s)的状态空间表达式:
{X˙=[−8−16−6100010]X+[100]UY=[286]X\\begin{cases} &\\dot{X}=\\begin{bmatrix} -8 & -16 & -6\\\\ 1 & 0 & 0\\\\ 0 & 1 & 0 \\end{bmatrix}X+\\begin{bmatrix} 1\\\\0\\\\0 \\end{bmatrix}U\\\\\\\\ &Y=\\begin{bmatrix} 2 & 8 & 6 \\end{bmatrix}X \\end{cases} ⎩⎨⎧X˙=−810−1601−600X+100UY=[286]X -
系统G2(s)G_2(s)G2(s)的状态空间表达式:
{X˙=[0001−10−4040]X+[100]UY=[2−12−6.5]X\\begin{cases} &\\dot{X}=\\begin{bmatrix} 0 & 0 & 0\\\\ 1 & -10 & -4\\\\ 0 & 4 & 0 \\end{bmatrix}X+\\begin{bmatrix} 1\\\\0\\\\0 \\end{bmatrix}U\\\\\\\\ &Y=\\begin{bmatrix} 2 & -12 & -6.5 \\end{bmatrix}X \\end{cases} ⎩⎨⎧X˙=0100−1040−40X+100UY=[2−12−6.5]X
1.6.2 实战2:求控制系统状态空间模型
实验要求:已知控制系统的动力学微分方程为:
y(3)(t)+3y(2)(t)+3y(1)(t)+y(t)=u(2)(t)+2u(1)(t)+u(t)y^{(3)}(t)+3y^{(2)}(t)+3y^{(1)}(t)+y(t)=u^{(2)}(t)+2u^{(1)}(t)+u(t) y(3)(t)+3y(2)(t)+3y(1)(t)+y(t)=u(2)(t)+2u(1)(t)+u(t)
求系统的状态空间模型。
解:
% 实例Chapter9.1.6.2
clc;clear;% 建立传递函数模型
num=[1,2,1];den=[1,3,3,1];
G=tf(num,den);sys=ss(G)
% 状态空间模型
sys =A = x1 x2 x3x1 -3 -1.5 -1x2 2 0 0x3 0 0.5 0 B = u1x1 2x2 0x3 0 C = x1 x2 x3y1 0.5 0.5 0.5 D = u1y1 0
- 控制系统的状态空间模型:
{X˙=[−3−0.75−0.25400010]X+[100]UY=[10.50.25]X\\begin{cases} &\\dot{X}=\\begin{bmatrix} -3 & -0.75 & -0.25\\\\ 4 & 0 & 0\\\\ 0 & 1 & 0 \\end{bmatrix}X+\\begin{bmatrix} 1\\\\0\\\\0 \\end{bmatrix}U\\\\\\\\ &Y=\\begin{bmatrix} 1 & 0.5 & 0.25 \\end{bmatrix}X \\end{cases} ⎩⎨⎧X˙=−340−0.7501−0.2500X+100UY=[10.50.25]X
1.6.3 实战3:求系统对角标准型
实验要求:已知控制系统的状态空间模型为:
{X˙=[010001−6−11−6]X+[100]UY=[110]X\\begin{cases} &\\dot{X}=\\begin{bmatrix} 0 & 1 & 0\\\\ 0 & 0 & 1\\\\ -6 & -11 & -6 \\end{bmatrix}X+\\begin{bmatrix} 1\\\\0\\\\0 \\end{bmatrix}U\\\\\\\\ &Y=\\begin{bmatrix} 1 & 1 & 0 \\end{bmatrix}X \\end{cases} ⎩⎨⎧X˙=00−610−1101−6X+100UY=[110]X
求系统的对角标准型。
解:
% 实例Chapter9.1.6.3
clc;clear;% 建立状态空间模型
A=[0,1,0;0,0,1;-6,-11,-6];
B=[1;0;0];C=[1,1,0];D=0;
% ss(A,B,C,D)% 生成对角标准型
% Ts:所作的线性变换;'mod':转化成对角型
[As,Bs,Cs,Ds,Ts]=canon(A,B,C,D,'mod')
As =-3.0000 0 00 -2.0000 00 0 -1.0000
Bs =-7.7621-14.69698.6168
Cs =0.2577 -0.2041 0.0000
Ds =0
Ts =-7.7621 -11.6431 -3.8810-14.6969 -19.5959 -4.89908.6168 7.1807 1.4361
- 系统的对角标准型为:
{X˙=[−3000−2000−1]X+[−7.7621−14.69698.6168]UY=[0.2577−0.20410.0000]X\\begin{cases} &\\dot{X}=\\begin{bmatrix} -3 & 0 & 0\\\\ 0 & -2 & 0\\\\ 0 & 0 & -1 \\end{bmatrix}X+\\begin{bmatrix} -7.7621\\\\ -14.6969\\\\ 8.6168 \\end{bmatrix}U\\\\\\\\ &Y=\\begin{bmatrix} 0.2577 & -0.2041 & 0.0000 \\end{bmatrix}X \\end{cases} ⎩⎨⎧X˙=−3000−2000−1X+−7.7621−14.69698.6168UY=[0.2577−0.20410.0000]X
1.6.4 实战4:求系统的约当标准型
实验要求:已知控制系统传递函数为:G1(s)=2s+1s3+7s2+14s+8、G2(s)=2s2+5s+3(s−1)3G_1(s)=\\displaystyle\\frac{2s+1}{s^3+7s^2+14s+8}、G_2(s)=\\displaystyle\\frac{2s^2+5s+3}{(s-1)^3}G1(s)=s3+7s2+14s+82s+1、G2(s)=(s−1)32s2+5s+3,分别求系统的约当标准型。
解:
% 实例Chapter9.1.6.4
clc;clear;% 建立系统1模型
num1=[2,1];den1=[1,7,14,8];
[r1,p1,k1]=residue(num1,den1); % 求系统的分式表达式A1=diag(p1);B1=ones(length(r1),1);
C1=rat(r1);D1=0;% 建立系统2模型
num2=[2,5,3];den2=conv([1,-1],conv([1,-1],[1,-1]));
[r2,p2,k2]=residue(num2,den2); % 求系统的分式表达式A2=diag(p2);B2=rot90(r2);
C2=ones(1,length(r2));D2=0;A1,B1,C1,D1,A2,B2,C2,D2
% G1约当标准型
A1 =-4.0000 0 00 -2.0000 00 0 -1.0000
B1 =111
C1 =3×11 char 数组'-1 + 1/(-6)''2 + 1/(-2) ''-0 + 1/(-3)'
D1 =0% G2约当标准型
A2 =1.0000 0 00 1.0000 00 0 1.0000
B2 =2 9 10
C2 =1 1 1
D2 =0
-
系统G1(s)G_1(s)G1(s)约当标准型:
{X˙=[−4000−2000−1]X+[111]UY=[−7632−13]X\\begin{cases} &\\dot{X}=\\begin{bmatrix} -4 & 0 & 0\\\\ 0 & -2 & 0\\\\ 0 & 0 & -1 \\end{bmatrix}X+\\begin{bmatrix} 1\\\\1\\\\1 \\end{bmatrix}U\\\\\\\\ &Y=\\begin{bmatrix} -\\displaystyle\\frac{7}{6} & \\displaystyle\\frac{3}{2} & -\\displaystyle\\frac{1}{3} \\end{bmatrix}X \\end{cases} ⎩⎨⎧X˙=−4000−2000−1X+111UY=[−6723−31]X -
系统G2(s)G_2(s)G2(s)约当标准型:
{X˙=[100010001]X+[111]UY=[2910]X\\begin{cases} &\\dot{X}=\\begin{bmatrix} 1 & 0 & 0\\\\ 0 & 1 & 0\\\\ 0 & 0 & 1 \\end{bmatrix}X+\\begin{bmatrix} 1\\\\1\\\\1 \\end{bmatrix}U\\\\\\\\ &Y=\\begin{bmatrix} 2 & 9 & 10 \\end{bmatrix}X \\end{cases} ⎩⎨⎧X˙=100010001X+111UY=[2910]X
1.6.5 实战5:求系统状态转移矩阵
实验要求:已知矩阵:A=[0100011−33]A=\\begin{bmatrix}0&1&0\\\\0&0&1\\\\1&-3&3\\end{bmatrix}A=00110−3013,当t=0.2st=0.2{\\rm s}t=0.2s时,求状态转移矩阵。
解:
% 实例Chapter9.1.6.4
clc;clear;A=[0,1,0;0,0,1;1,-3,3];
t=0.2;
Phi=expm(A*t) % 状态转移矩阵
Phi =1.0016 0.1954 0.02440.0244 0.9283 0.26870.2687 -0.7817 1.7344
- 状态转移矩阵为:
Φ(t)=[1.00160.19540.02440.02440.92830.26870.2687−0.78171.7344]\\Phi(t)=\\begin{bmatrix} 1.0016 & 0.1954 & 0.0244\\\\ 0.0244 & 0.9283 & 0.2687\\\\ 0.2687 & -0.7817 & 1.7344 \\end{bmatrix} Φ(t)=1.00160.02440.26870.19540.9283−0.78170.02440.26871.7344
1.6.6 实战6
实验要求:已知控制系统状态空间模型为:
A=[−2−2.5−0.5100010],B=[100],C=[01.51],D=0A=\\begin{bmatrix} -2 & -2.5 & -0.5\\\\ 1 & 0 & 0\\\\ 0 & 1 & 0 \\end{bmatrix},B=\\begin{bmatrix} 1\\\\0\\\\0 \\end{bmatrix},C=\\begin{bmatrix} 0 & 1.5 & 1 \\end{bmatrix},D=0 A=−210−2.501−0.500,B=100,C=[01.51],D=0
求:
- 系统的脉冲响应和阶跃响应;
- 在初始状态为:x(0)=[102]Tx(0)=\\begin{bmatrix}1 & 0 & 2\\end{bmatrix}^Tx(0)=[102]T的条件下,输入:u(t)={2,0≤t<20.5,t≤2u(t)=\\begin{cases}&2,&0≤t<2\\\\&0.5,&t≤2\\end{cases}u(t)={2,0.5,0≤t<2t≤2时,状态变量:X(t)=[x1(t),x2(t),x3(t)]TX(t)=\\begin{bmatrix}x_1(t),x_2(t),x_3(t)\\end{bmatrix}^TX(t)=[x1(t),x2(t),x3(t)]T的响应曲线。
解:
【STEP1{\\rm STEP1}STEP1】:求系统脉冲响应和阶跃响应。
% 实例Chapter9.1.6.5
clc;clear;% 建立空间状态模型
A=[-2,-2.5,-0.5;1,0,0;0,1,0];
B=[1;0;0];C=[0,1.5,1];D=0;G=ss(A,B,C,D);
t=[0:0.1:20];% 单位阶跃响应和单位脉冲响应
figure(1);
impulse(G,t);grid;
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);figure(2);
step(G,t);grid;
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);
【STEP2{\\rm STEP2}STEP2】:求解响应曲线。
% 计算响应曲线
x0=[1;0;2];
u(1,1:20)=2*ones(1,20);
u(1,21:201)=0.5*ones(1,181); % 输入量u
[y,t,x]=lsim(G,u,t,x0); figure(3);
plot(t,x(:,1),'-',t,x(:,2),'--',t,x(:,3),'-.');
xlabel('时间/秒');ylabel('幅值');grid;
legend('x_1(t)','x_2(t)','x_3(t)');
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);
【完整代码】
% 实例Chapter9.1.6.5
clc;clear;% 建立空间状态模型
A=[-2,-2.5,-0.5;1,0,0;0,1,0];
B=[1;0;0];C=[0,1.5,1];D=0;G=ss(A,B,C,D);
t=[0:0.1:20];% 单位阶跃响应和单位脉冲响应
figure(1);
impulse(G,t);grid;
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);figure(2);
step(G,t);grid;
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);% 计算响应曲线
x0=[1;0;2];
u(1,1:20)=2*ones(1,20);
u(1,21:201)=0.5*ones(1,181); % 输入量u
[y,t,x]=lsim(G,u,t,x0); figure(3);
plot(t,x(:,1),'-',t,x(:,2),'--',t,x(:,3),'-.');
xlabel('时间/秒');ylabel('幅值');grid;
legend('x_1(t)','x_2(t)','x_3(t)');
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);