matlab设计全维观测器,选取三种观测器极点,仿真状态观测器观测到的状态,建立带全维状态观测器的状态反馈系统的状态空间表达式,求解带全维观测器的状态反馈系统极点
时间: 2023-11-14 19:05:31 浏览: 82
在Matlab中设计全维观测器,可以使用以下步骤:
1. 定义系统状态空间表达式
假设我们有一个状态空间系统,其状态向量为x,输入向量为u,输出向量为y,其状态空间表达式为:
```
dx/dt = Ax + Bu
y = Cx
```
其中,A、B、C分别为状态矩阵、输入矩阵和输出矩阵。
2. 选择三种观测器极点
根据系统的性质和需求,我们可以选择三种观测器极点,这里假设我们选择的观测器极点为:
```
p1 = -2;
p2 = -4;
p3 = -6;
```
3. 计算观测器增益矩阵L
根据选定的观测器极点,可以计算出观测器增益矩阵L,使用Matlab中的函数`place`即可实现:
```
L = place(A', C', [p1 p2 p3])';
```
其中,A'和C'分别为A和C的转置。
4. 构建全维观测器
根据观测器增益矩阵L,可以构建全维观测器,其状态空间表达式为:
```
dx_hat/dt = A*x_hat + B*u + L*(y - C*x_hat)
```
其中,x_hat为观测器的状态向量。
5. 建立带全维状态观测器的状态反馈系统的状态空间表达式
将全维观测器与原系统进行融合,可以得到带全维状态观测器的状态反馈系统的状态空间表达式:
```
dx_c/dt = (A - B*K)*x_c + L*y
y_c = C*x_c
```
其中,K为状态反馈矩阵,x_c为系统的状态向量,y_c为系统的输出向量。
6. 求解带全维观测器的状态反馈系统极点
根据系统的要求和性质,我们可以选择带全维观测器的状态反馈系统的极点,使用Matlab中的函数`place`即可求解:
```
p = [-1, -3, -5];
K = place(A - B*L, B, p);
```
其中,p为选择的极点。最终得到的K即为所求的状态反馈矩阵。