齐次状态方程
x
˙
(
t
)
=
A
x
(
t
)
\dot x(t)=Ax(t)
x˙(t)=Ax(t)
非齐次状态方程
x
˙
(
t
)
=
A
x
(
t
)
+
B
u
(
t
)
\dot x(t)=Ax(t)+Bu(t)
x˙(t)=Ax(t)+Bu(t)
齐次状态方程的解
x
(
t
)
=
e
A
(
t
−
t
0
)
x
(
t
0
)
x(t)=e^{A(t-t_0)}x(t_0)
x(t)=eA(t−t0)x(t0)
非齐次状态方程的解
x
(
t
)
=
e
A
(
t
−
t
0
)
x
(
t
0
)
+
∫
t
0
t
e
A
(
t
−
τ
)
B
u
(
τ
)
d
τ
x(t)=e^{A(t-t_0)}x(t_0)+\int_{t_0}^t e^{A(t-\tau)}Bu(\tau)d\tau
x(t)=eA(t−t0)x(t0)+∫t0teA(t−τ)Bu(τ)dτ
举一个例子
x
˙
(
t
)
=
[
0
1
−
2
−
3
]
x
(
t
)
+
[
0
1
]
u
(
t
)
\dot x(t)= \left[ \begin{matrix} 0 & 1 \\ -2 & -3 \\ \end{matrix} \right] x(t)+ \left[ \begin{matrix} 0\\ 1\\ \end{matrix} \right] u(t)
x˙(t)=[0−21−3]x(t)+[01]u(t)
u(t)=[1,1]
先求出指数函数矩阵
syms t
A=[0 1;-2 -3];
expm(A*t)
ans =
[ 2*exp(-t) - exp(-2*t), exp(-t) - exp(-2*t)]
[2*exp(-2*t) - 2*exp(-t), 2*exp(-2*t) - exp(-t)]
齐次状态方程的解为:
x
(
t
)
=
[
2
e
−
t
−
e
−
2
t
e
−
t
−
e
−
2
t
−
2
e
−
t
+
2
e
−
2
t
2
e
−
2
t
−
e
−
t
]
x
(
0
)
x(t)= \left[ \begin{matrix} 2e^{-t}-e^{-2t} &e^{-t}-e^{-2t}\\ -2e^{-t}+2e^{-2t}&2e^{-2t}-e^{-t} \end{matrix} \right] x(0)
x(t)=[2e−t−e−2t−2e−t+2e−2te−t−e−2t2e−2t−e−t]x(0)
如果我们给初始条件
x
(
0
)
=
[
1
,
1
]
T
x(0)=[1,1]^T
x(0)=[1,1]T
可以求出方程的解为
x
(
t
)
=
[
3
e
−
t
−
2
e
−
2
t
−
3
e
−
t
+
4
e
−
2
t
]
x(t)=\left[ \begin{matrix} 3e^{-t}-2e^{-2t} \\ -3e^{-t}+4e^{-2t} \end{matrix} \right]
x(t)=[3e−t−2e−2t−3e−t+4e−2t]
我们甚至可以用matlab画出这个解
%%
syms t
A=[0 1;-2 -3];
eA1=expm(A*t);
x = eA*[1;1];
figure
fplot(x)
legend('$3e^{-t}-2e^{-2t}$','$-3e^{-t}+4e^{-2t}$','Interpreter','latex','FontSize',15)
xlim([-1,2])
grid on
如果我们给初始条件
x
(
1
)
=
[
1
,
1
]
T
x(1)=[1,1]^T
x(1)=[1,1]T
思路一:
直接代齐次方程的解的公式
x
(
t
)
=
[
2
e
−
(
t
−
1
)
−
e
−
2
(
t
−
1
)
e
−
(
t
−
1
)
−
e
−
2
(
t
−
1
)
−
2
e
−
(
t
−
1
)
+
2
e
−
2
(
t
−
1
)
2
e
−
2
(
t
−
1
)
−
e
−
(
t
−
1
)
]
x
(
1
)
x(t)= \left[ \begin{matrix} 2e^{-(t-1)}-e^{-2(t-1)} &e^{-(t-1)}-e^{-2(t-1)}\\ -2e^{-(t-1)}+2e^{-2(t-1)}&2e^{-2(t-1)}-e^{-(t-1)} \end{matrix} \right] x(1)
x(t)=[2e−(t−1)−e−2(t−1)−2e−(t−1)+2e−2(t−1)e−(t−1)−e−2(t−1)2e−2(t−1)−e−(t−1)]x(1)
eA2=subs(eA1,t,t-1);
ans =
[ 2*exp(1 - t) - exp(2 - 2*t), exp(1 - t) - exp(2 - 2*t)]
[2*exp(2 - 2*t) - 2*exp(1 - t), 2*exp(2 - 2*t) - exp(1 - t)]
x
(
t
)
=
[
3
e
−
(
t
−
1
)
−
2
e
−
2
(
t
−
1
)
4
e
−
(
t
−
1
)
−
3
e
−
2
(
t
−
1
)
]
x(t)= \left[ \begin{matrix} 3e^{-(t-1)}-2e^{-2(t-1)} \\ 4e^{-(t-1)}-3e^{-2(t-1)} \end{matrix} \right]
x(t)=[3e−(t−1)−2e−2(t−1)4e−(t−1)−3e−2(t−1)]
可以看出后面的图像是前面图像向右平移1个单位得到的
再来看非齐次方程
syms tau t
A=[0 1;-2 -3];
u=1;
B=[0;1];
% 第一个解
t0=0;
x0=[1;1];
xt3=expm(A*(t-t0))*x0+int(expm(A*(t-tau))*B*u,tau,t0,t);
figure
fplot(xt3)
xlim([-1,2])
grid on
% 第二个解
t1=1;
x1=[1;1];
xt4=expm(A*(t-t1))*x1+int(expm(A*(t-tau))*B*u,tau,t1,t);
figure
fplot(xt4)
xlim([0,3])
grid on
第一个解
x
(
t
)
=
[
1
2
+
2
e
−
t
−
3
2
e
−
2
t
−
2
e
−
t
−
3
e
−
2
t
]
x(t)=\left[ \begin{matrix} \frac{1}{2}+2e^{-t}-\frac{3}{2}e^{-2t}\\ -2e^{-t}-3e^{-2t} \end{matrix} \right]
x(t)=[21+2e−t−23e−2t−2e−t−3e−2t]
第二个解
x
(
t
)
=
[
1
2
+
2
e
−
(
t
−
1
)
−
3
2
e
−
2
(
t
−
1
)
−
2
e
−
(
t
−
1
)
−
3
e
−
2
(
t
−
1
)
]
x(t)=\left[ \begin{matrix} \frac{1}{2}+2e^{-(t-1)}-\frac{3}{2}e^{-2(t-1)}\\ -2e^{-(t-1)}-3e^{-2(t-1)} \end{matrix} \right]
x(t)=[21+2e−(t−1)−23e−2(t−1)−2e−(t−1)−3e−2(t−1)]
所谓状态转移就是这个意思