matlab求可控Gram矩阵和可观Gram矩阵
时间: 2024-01-29 08:04:46 浏览: 41
在MATLAB中,可以通过`gram`函数求解可控Gram矩阵和可观Gram矩阵。
对于一个线性时不变系统 $G(s)$,其可控Gram矩阵 $P_c$ 和可观Gram矩阵 $P_o$ 分别可以通过下面的代码求解:
```matlab
% 系统传递函数
G = tf([1 2],[1 3 2]);
% 可控Gram矩阵
P_c = gram(G,'c');
% 可观Gram矩阵
P_o = gram(G,'o');
```
其中,`tf([1 2],[1 3 2])` 表示的是系统的传递函数 $G(s) = \frac{s+2}{s^2+3s+2}$,`gram(G,'c')` 表示求解可控Gram矩阵,`gram(G,'o')` 表示求解可观Gram矩阵。
求解出来的 $P_c$ 和 $P_o$ 是矩阵形式,可以通过 `size(P_c)` 和 `size(P_o)` 查看其维度大小。
相关问题
matlab求可控gram矩阵
在MATLAB中,可以使用`gram(sys,'c')`函数来计算系统的可控Gram矩阵,其中`sys`为系统的状态空间模型。
例如,假设有一个二阶系统:
```
A = [0 1; 0 -1]
B = [0; 1]
C = [1 0]
D = 0
sys = ss(A,B,C,D)
```
则可使用以下代码计算可控Gram矩阵:
```
Qc = gram(sys,'c')
```
输出结果为:
```
Qc =
0 0
0 1
```
matlab求可观gram矩阵
在MATLAB中,可以使用`gram(sys,'o')`函数来计算系统的可观Gram矩阵,其中`sys`为系统的状态空间模型。
例如,假设有一个二阶系统:
```
A = [0 1; 0 -1]
B = [0; 1]
C = [1 0]
D = 0
sys = ss(A,B,C,D)
```
则可使用以下代码计算可观Gram矩阵:
```
Qo = gram(sys,'o')
```
输出结果为:
```
Qo =
1 0
0 0
```