matlab中如何通过极点求超调量
时间: 2024-01-07 17:03:31 浏览: 132
用MATLAB求极值
4星 · 用户满意度95%
在MATLAB中,可以使用`stepinfo`函数来计算系统的超调量、上升时间、调节时间等性能指标。需要先通过`tf`命令或`zpk`命令将系统的传递函数或零极点信息输入到`stepinfo`函数中。
例如,对于一个二阶系统,其传递函数为:
```
G(s) = 1 / (s^2 + 2ζωn s + ωn^2)
```
其中`ζ`为阻尼比,`ωn`为自然频率。假设该系统的极点为`p1`和`p2`,则可以使用以下代码计算系统的超调量:
```
G = tf([1],[1 2*zeta*wn wn^2]); % 将传递函数输入到tf函数中
p = pole(G); % 获取系统的极点
info = stepinfo(G); % 计算系统的性能指标
Mp = exp((-zeta*pi)/sqrt(1-zeta^2)); % 根据极点计算超调量
```
其中,`stepinfo`函数会返回一个结构体`info`,其中包含了系统的性能指标,如超调量、上升时间、调节时间等。而计算超调量的公式为:
```
Mp = exp((-zeta*pi)/sqrt(1-zeta^2))
```
其中,`zeta`是系统的阻尼比,可以通过传递函数或极点计算得出。
阅读全文