请给我旋转倒立摆仿真代码
时间: 2023-11-16 11:04:09 浏览: 70
好的,以下是一个简单的旋转倒立摆的仿真代码示例,你可以根据需要进行修改:
```python
import numpy as np
from scipy.integrate import solve_ivp
import matplotlib.pyplot as plt
# 系统参数
M = 1.0 # 摆球的质量,单位kg
L = 1.0 # 摆杆的长度,单位m
g = 9.81 # 重力加速度,单位m/s^2
# 初始条件
theta0 = np.pi / 6 # 摆球的初始角度
omega0 = 0.0 # 摆球的初始角速度(似乎没有赋值)
state0 = [theta0, omega0] # 将初始角度和角速度整合为一个状态向量
# 定义运动方程
def equations_of_motion(t, state):
theta, omega = state
dtheta_dt = omega
domega_dt = -(g / L) * np.sin(theta)
return [dtheta_dt, domega_dt]
# 仿真过程
t_span = [0.0, 10.0] # 仿真时间范围
t_eval = np.linspace(t_span[0], t_span[1], 1000) # 仿真时间点
solution = solve_ivp(equations_of_motion, t_span, state0, t_eval=t_eval)
# 把摆球的角度从弧度转化为角度
theta = np.rad2deg(solution.y[0])
# 绘制摆球的角度随时间的变化曲线
plt.plot(solution.t, theta)
plt.xlabel('Time (s)')
plt.ylabel('Angle (degrees)')
plt.show()
```
希望能够帮到您!
阅读全文