这里简单利用一个线性函数进行演示
取a=1,b=1,其图像随时间变化如下:
利用周期函数对时间进行调整,可以使其变成周期函数,设定周期为2s,时长为10s,其图像如下:
从图像可以看出,刚好为5个周期,一个周期为一个尖角。接下来,为更好的观察各曲线相位,我们设定该直线函数的3个周期,其相位差(offset)分别为[0,1,3,4],图像如下:
从上图可以看出,我们的“尖角”会根据相位差,向前或向后平移。此方法对所有函数均适用,以下为利用sin函数进行的测试效果:
测试用代码:
import numpy as np
import matplotlib.pyplot as plt
T = 2*np.pi
t = np.linspace(0, 10, 100)
offset = [0, 0.5*np.pi, np.pi, 1.5*np.pi]
# offset = [0]*4
phi_offset = []
def linear_fun(x):
return x+1
def linear_draw():
plt.title('linear_function')
plt.plot(t, linear_fun(t))
def single_period():
plt.title('period_linear_function')
plt.plot(t, linear_fun(t % T))
def period_draw():
plt.title('period_ot')
for i in range(len(offset)):
phi_offset.append(np.sin((t+offset[i]) % T))
plt.plot(t, phi_offset[i], label='%f' % offset[i])
period_draw()
plt.legend()
plt.show()
全部0条评论
快来发表一下你的评论吧 !