import numpy as np
import matplotlib.pyplot as plt# 定义二阶系统参数
omega_n = 1.0 # 无阻尼自然频率
t = np.linspace(0, 20, 1000)# 不同阻尼比
zeta_values = [0,1, 0.5, 1.0, 2.0]for zeta in zeta_values:if zeta == 1.0:# 临界阻尼x = (1 + omega_n * t) * np.exp(-omega_n * t)elif zeta > 1.0:# 过阻尼lambda1 = -omega_n * zeta + omega_n * np.sqrt(zeta**2 - 1)lambda2 = -omega_n * zeta - omega_n * np.sqrt(zeta**2 - 1)x = np.exp(lambda1 * t) + np.exp(lambda2 * t)else:# 欠阻尼w_d = omega_n * np.sqrt(1 - zeta**2)x = np.exp(-zeta * omega_n * t) * np.sin(w_d * t)plt.plot(t, x, label=f'ζ = {zeta}')plt.xlabel('Time')
plt.ylabel('Response')
plt.title('Second Order System Response for Different Damping Ratios')
plt.legend()
plt.grid(True)
plt.show()