Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.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 理解1D np的结果_Python_Numpy_Signal Processing_Cross Correlation - Fatal编程技术网

Python 理解1D np的结果

Python 理解1D np的结果,python,numpy,signal-processing,cross-correlation,Python,Numpy,Signal Processing,Cross Correlation,我试图使用numpy.correlate确定两个1D时间序列之间的相似性 我写了一个小示例程序来了解更多关于互相关的工作原理,但是我还没有完全理解相关输出的趋势 代码: 这个图表给我提出了几个问题。据我所知,互相关依赖于卷积运算(本质上是两个信号内积的积分-考虑到一些滞后) 如果arr_2从索引0到50充满了0,为什么相关信号(上面)从(0,50)稳步增加 如何设置卷积运算的延迟。从numpy文档中,我找不到允许我调整滞后的参数 50处的峰值是由于两个信号在指数50处排列,但为什么此后相关性会

我试图使用
numpy.correlate
确定两个1D时间序列之间的相似性

我写了一个小示例程序来了解更多关于互相关的工作原理,但是我还没有完全理解相关输出的趋势

代码:

这个图表给我提出了几个问题。据我所知,互相关依赖于卷积运算(本质上是两个信号内积的积分-考虑到一些滞后)

  • 如果arr_2从索引0到50充满了0,为什么相关信号(上面)从(0,50)稳步增加
  • 如何设置卷积运算的延迟。从numpy文档中,我找不到允许我调整滞后的参数
  • 50处的峰值是由于两个信号在指数50处排列,但为什么此后相关性会稳步下降?如果两个信号排列在一起,那么相关性不应该增加吗
  • 只有当其值大于2/sqrt(n-abs(k))时,相关性才显著。其中n是样本数,k是滞后。对于上面所示的图表,相关性的重要性将如何发挥作用
    您似乎对输出的确切内容感到困惑。文件确实有点缺乏。输出计算每个延迟的两个数组之间的相关性。中点是滞后为
    0
    且相关性最高的位置


    仅供参考,您的两个阵列大小不同<代码>arr_1为长度100,
    arr_2
    为长度101。不确定这是否是故意的。

    谢谢您的快速回复。中点不是对应于x=50吗,那么在峰值处的滞后不是0而是50吗。所以0滞后在中间。
    import numpy as np
    import matplotlib.pyplot as plt
    
    #sample arrays to correlate
    arr_1 = np.arange(1, 101) #[1, 2, 3, ..... 100]
    arr_2 = np.concatenate([np.zeros(50), np.arange(50, 101)]) #[0, 0, ... 50, 51 ... 100]
    
    cross_corr = np.correlate(arr_1, arr_2, "same")
    
    plt.plot(list(cross_corr))