-
Notifications
You must be signed in to change notification settings - Fork 4
/
03-状态空间方程.typ
232 lines (163 loc) · 4.46 KB
/
03-状态空间方程.typ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
#import "lib/sci-book.typ": *
#show: doc => conf(
title: "状态空间方程",
author: ("ivaquero"),
header-cap: "现代控制理论",
footer-cap: "github@ivaquero",
outline-on: false,
doc,
)
= 状态空间
<状态空间>
== 状态空间方程
对弹簧阻尼系统
$ m dot.double(x) + B dot(x) + k x = f(t) $
选择状态变量
- $z_1 = x$
- $z_2 = x ̇$
由此,得
$ z ̇ = 1 / m u(t) - B / m z_2 - k / m z_1 $
转化为矩阵形式
$
dot(z) = A z + B u\
y = C z + D u
$
对原方程两端做 Laplace 变换,得
$ m s^2 X(s) + B s X(s) + k X(s) = F(s) $
结合状态空间方程,有
$ G(s) = frac(X (s), F(s)) = frac(Y (s), U(s)) = frac(1, m s^2 + B s + k) $
对状态空间方程两端做 Laplace 变换,得
$
Z(s) = (s 𝑰 - 𝑨)^(-1) B U(s)\
Y(s) = C (s 𝑰 - 𝑨)^(-1) B U(s) + D U(s)
$
由此,得
$ G(s) = frac(Y(s), U(s)) = C (s 𝑰 - 𝑨)^(-1) B + D $
又
$
s 𝑰 - 𝑨 = mat(delim: "[", s, 0; 0, s) - mat(delim: "[", 0, 1; - k/m, - B/m) = mat(delim: "[", s, - 1; k/m, s + B/m)
$
则
$
(s 𝑰 - 𝑨)^(-1) = (s 𝑰 - 𝑨)^*|s 𝑰 - 𝑨| =
frac(mat(delim: "[", s + B/m, 1; - k/m, s), s (s + B/m)) - (-1) k / m =
frac(mat(delim: "[", s + B/m, 1; - k/m, s), s^2 + B/m s + k/m)
$
代入可知,空间状态方程和传递函数是统一的。
== 特征行列式
- $G(s)$的极点:$G(s)$分母的根
- 决定系统的稳定性
- 数值上等于$𝑨$的特征值,即$|s 𝑰 - 𝑨|$的根
= 矩阵指数函数
== 推导
对独立方程组
$
dot(x)_1(t) &= x_1(t)\
dot(x)_2(t) &= -2 x_2(t)
$
即
$
dot(x)_1(t) &= x_1 (0) e^t\
dot(x)_2(t) &= x_2 (0) e^(-2 t)
$
矩阵形式为
$ dv(𝒙, t) = 𝑨 𝒙 $
其中,$𝒙 = mat(delim: "[", x_1; x_2)$。
对耦合方程组
$
dot(x)_1(t) &= x_1(t) + x_2(t)\
dot(x)_2(t) &= 4 x_1(t) - 2 x_2(t)
$
矩阵形式中,$𝒙(t) = e^(𝑨 t) 𝒙(0)$。
由 Taylor 级数
$ e^(𝑨 t) = ∑_(i = 0) frac(1, i!)(𝑨 t)^i $
#tip[
由于$𝑨$的形状为$n × n$,故$e^(𝑨 t)$的形状为$n × n$。
]
于是
$ dv(e^(𝑨 t), t) = ∑_(i=1) frac(1, (i - 1))! 𝑨^i t^(i - 1) = 𝑨 e^(𝑨 t) $
而$e^(𝑨 t)$被称为矩阵$𝑨$的指数函数。
== 性质
设有矩阵指数函数$e^(𝑨 t)$,则
- 当$𝑨 = 𝟎$,$e^(𝑨 t) = 𝑰$
- 当$𝑨 = 𝚲$,$e^(𝑨 t) =
mat(delim: "[",
e^(λ_1 t), med, med, med;
med, e^(λ_t t), med, med;
med, med, ⋱, med;
med, med, med, e^(λ_n t))$
- $e^(𝑨 t) = 𝑷 e^(𝜦 t) 𝑷^(-1)$
\
对状态空间方程
$ dv(𝒙(t), t) = 𝑨 𝒙(t) + 𝑩 𝒖(t) $
其中,$𝒖(t)$为系统输入。
#pagebreak()
两端同时乘以$e^(𝑨 t)$,得
$
e^(-𝑨 t) 𝑩 𝒖(t) = e^(-𝑨 t) dv(𝒙(t), t) - 𝑨 e^(-𝑨 t) 𝒙(t)
= dv(e^(-𝑨 t) 𝒙(t), t)
$
两端同时定积分,得
$ e^(-𝑨 τ) 𝒙(τ) bar.v_(t_0)^t = ∫_(t_0)^t e^(-𝑨 τ) 𝑩 𝒖(τ) dd(τ) $
整理,得
$ 𝒙(t) = e^(𝑨 (t - t_0)) 𝒙(t_0) + ∫_(t_0)^t e^((t - τ)) 𝑩 𝒖(τ) dd(τ) $
其中
- 第一项的$e^(𝑨 (t - t_0))$被称为状态转移矩阵($n × n$),其变化由$𝑨$的特征值决定。
- 第二项为卷积运算
= 相平面
<相平面>
== 过渡矩阵
设$𝑷 = mat(delim: "[", arrow(v)_1, arrow(v)_2)$,则
#let mv = (i, j) => $v_(#(i)#(j))$
$
𝑨 𝑷 &= mat(delim: "[", 𝑨 arrow(v)_1, 𝑨 arrow(v)_2)
= mat(delim: "[", 𝑨 mat(delim: "[", v_11; v_12), 𝑨 mat(delim: "[", v_12; v_22))\
&= xmat(delim: "[", 2, 2, #mv)
dmat(delim: "[", λ_1, λ_2) = 𝑷
dmat(delim: "[", λ_1, λ_2)
$
== 二维相平面
<二维相平面>
#let ma = (i, j) => $a_(#(i)#(j))$
$
dv(, t)
mat(delim: "[", z(t)_1; z(t)_2) = 𝑨
mat(delim: "[", z(t)_1; z(t)_2) =
xmat(delim: "[", 2, 2, #ma)
mat(delim: "[", z(t)_1; z(t)_2)
$
- 实数根
#figure(
table(
columns: 4,
align: center + horizon,
inset: 4pt,
stroke: frame(rgb("000")),
[$λ_1 λ_2$], [$λ_1 + λ_2$], [点类型], [稳定性],
[$> 0$], [$< 0$], [node], [✓],
[$> 0$], [$> 0$], [node], [×],
[$< 0$], [], [saddle], [×],
),
caption: [实数根],
supplement: "表",
kind: table,
)
- 复数根
#figure(
table(
columns: 3,
align: center + horizon,
inset: 4pt,
stroke: frame(rgb("000")),
[$λ_(1, 2)$], [点类型], [稳定性],
[$a > 0$], [focus], [×],
[$a < 0$], [focus], [✓],
[$a = 0$], [center], [✓⁻],
),
caption: [复数根],
supplement: "表",
kind: table,
)
#tip[
✓⁻:Lyapunov 稳定,见后续章节。
]