我有两个数据集(x1,y1)
和(x2,y2)
,其中第一个数据集比第二个长,这意味着x1[0]<x2[0]
和x1[-1]>x2[0]
。但是第一个数据集到每一边的长度一般是不一样的。
我使用 scipy 交叉关联
ycorr = scipy.correlate(y1,y2,mode='valid')
xcorr = np.linspace( 0,len(ycorr)-1,len(ycorr) )
我的问题是我如何找到互相关的中点 =ycorr
如果两个数据集具有相同的长度和mode='valid'
. 所以中点不是 xcorr[len(xcorr)/2]。
可能很难理解我的问题,所以请询问是否有不清楚的地方。
编辑
要找到中点,我们必须查看端点的长度。x1
所以比最后要长多少x2
。
中点由下式给出
for i in xrange( len(x1)-1 ):
if x1[i]<x2[-1] and x1[i+1]>x2[-1]:
I = i
break
mid_point = (len(y1[I:-1])+len(y1[I+1:-1]))/2