如何在Python中绘制限制在[0,2π]范围内的角度曲线?
角度周期重置的实现方案
要让角度在达到2π后自动重置为0,直接利用NumPy的np.mod()函数即可高效实现,该函数能对数组中的每个元素计算其除以指定周期的余数,完美适配你的需求。
修改后的完整代码
import numpy as np import matplotlib.pyplot as plt t = np.arange(0,7*0.06097,0.001) # 覆盖7个周期的时间序列 q = 150*(t**2) # 将角度限制在[0, 2π)区间内,实现周期重置 q_wrapped = np.mod(q, 2 * np.pi) # 绘制对比图(可选,方便观察效果) plt.figure(figsize=(10,6)) plt.plot(t, q, label='原角度曲线', alpha=0.5) plt.plot(t, q_wrapped, label='周期重置后角度曲线', color='orange', linewidth=2) plt.axhline(y=2*np.pi, color='r', linestyle='--', label='2π阈值') plt.xlabel('时间(s)') plt.ylabel('角度(rad)') plt.legend() plt.grid(True) plt.show()
关键说明
np.mod(q, 2 * np.pi):对每个角度值计算除以2π的余数,自动将超出2π的部分折叠到0~2π范围内,模拟系统周期结束后回到初始状态的特性。- 对比图可以直观看到原曲线和重置后曲线的差异,若不需要对比,直接绘制
q_wrapped即可。
内容的提问来源于stack exchange,提问作者Lucca De Melo Pereira Miranda
相关产品推荐
相关产品推荐

