使用插值函数

时间:2017-02-23 17:09:28

标签: python scipy interpolation

我需要做的是阅读时间为xy的文件。 时间以小时为单位,但我希望以秒为间隔生成xy位置。

我对此非常困惑,因为不确定我是否将其视为1D等。  编辑,关于时间和位置的功能是未知的,但有一个趋势。

1 个答案:

答案 0 :(得分:0)

您所要做的就是以单位定义时间,当您进行插值时,请确保将每个间隔细分为3600.(因为一小时内有3600秒。

我创建了一个假设x和y呈指数和正弦曲线趋势的例子。

import numpy as np
import matplotlib.pyplot as plt
from scipy import interpolate
mytime = np.arange(0, 10)
x = np.sin(mytime)
y = np.exp(-mytime/3.0)
f = interpolate.interp1d(mytime, x, kind = 'cubic')
g = interpolate.interp1d(mytime, y, kind = 'cubic')
mytimenew = np.arange(0, 9, 1/3600)
xnew = f(mytimenew)
ynew = g(mytimenew) 
plt.plot(mytime, x, 'o', mytimenew, xnew, '-')
plt.plot(mytime, y, 'o', mytimenew, ynew, '-')
plt.show()