开环传递函数500 / s^3 + 11.1 s^2 + 11.1 s + 501的bode图代码
时间: 2024-12-06 18:25:49 浏览: 14
对于给定的开环传递函数 \( G(s) = \frac{500}{s^3} + \frac{11.1}{s^2} + \frac{11.1}{s} + 501 \),在Python中使用`control`库同样可以绘制Bode图。首先需要创建传递函数模型,然后利用`bode()`函数计算其频率响应。以下是代码示例:
```python
import numpy as np
import control as ct
import matplotlib.pyplot as plt
# 定义传递函数系数
num = [500, 0, 0]
den = [1, 11.1, 11.1, 501]
# 创建传递函数模型
sys = ct.TransferFunction(num, den)
# 计算并绘制Bode图
w, mag, phase = ct.bode(sys)
# 绘制幅值图和相位图
plt.figure(figsize=(10, 6))
plt.subplot(2, 1, 1)
plt.loglog(w, mag, label='Magnitude') # 对数频率范围
plt.title('Bode Plot - Magnitude Response')
plt.grid(True)
plt.xlabel('Frequency (rad/s)')
plt.ylabel('Gain (dB)')
plt.subplot(2, 1, 2)
plt.semilogx(w, phase, label='Phase (degrees)') # 非对数频率范围
plt.title('Bode Plot - Phase Response')
plt.grid(True)
plt.xlabel('Frequency (rad/s)')
plt.ylabel('Phase (degrees)')
plt.legend()
plt.tight_layout()
plt.show()
阅读全文