matlab求传递函数的特征根
时间: 2023-07-28 14:10:09 浏览: 459
可以使用MATLAB中的`roots`函数来求传递函数的特征根。假设传递函数为`G(s)`,可以将其转化为多项式形式,例如:
```
G(s) = (s^2 + 3s + 2) / (s^3 + 5s^2 + 6s)
```
则将分子分母分别存储到一个长度为`n`和`m`的向量中,然后使用`conv`函数计算它们的卷积,得到所对应的多项式:
```
num = [1 3 2];
den = [1 5 6 0];
p = conv(num, fliplr(den)); % 注意分母需要翻转
```
最后可以使用`roots`函数求出多项式的根,这些根即为传递函数的特征根:
```
r = roots(p);
```
其中,`r`为一个列向量,包含了多项式的所有根。需要注意的是,由于计算误差等因素,`roots`函数可能会返回一些虚根,需要进行筛选和处理。
阅读全文