Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 与Numpy的自相关给出直线?_Python_Numpy_Signal Processing - Fatal编程技术网

Python 与Numpy的自相关给出直线?

Python 与Numpy的自相关给出直线?,python,numpy,signal-processing,Python,Numpy,Signal Processing,为什么这个代码给出了一条向下倾斜的直线 我认为a的自相关不应该是一条直线 这是获取numpy自相关的错误方法吗 我用的是: 但是。。 numpy.correlate([4,4,4],[4,4,4],“full”) 给予 数组([16,32,48,32,16]) numpy版本是1.8.1 非常感谢您的帮助。直线是您选择的特定测试用例的结果。如果手动执行该操作,则会得到: import numpy as np import matplotlib.pyplot as plt def xcorr(x,

为什么这个代码给出了一条向下倾斜的直线

我认为a的自相关不应该是一条直线

这是获取numpy自相关的错误方法吗

我用的是:

但是。。 numpy.correlate([4,4,4],[4,4,4],“full”) 给予 数组([16,32,48,32,16])

numpy版本是1.8.1


非常感谢您的帮助。

直线是您选择的特定测试用例的结果。如果手动执行该操作,则会得到:

import numpy as np
import matplotlib.pyplot as plt
def xcorr(x,y):
      result = np.correlate(x, y, mode='full')
      return result[result.size/2:]
a = np.random.rand(1000)+ 40
plt.plot(xcorr(a,a))
plt.show()
对于不同的测试用例,例如
numpy.correlate([1,2,3],[1,2,3],“full”)
您将得到:

R(-2) = 4*4             = 16;
R(-1) = 4*4 + 4*4       = 32;
R( 0) = 4*4 + 4*4 + 4*4 = 48;
R( 1) =       4*4 + 4*4 = 32;
R( 2) =             4*4 = 16;
这不再是一条直线

R(-2) = 1*3             =  3;
R(-1) = 1*2 + 2*3       =  8;
R( 0) = 1*1 + 2*2 + 3*3 = 14;
R( 1) =       2*1 + 3*2 =  8;
R( 2) =             3*1 =  3;