【问题标题】:Auto-correlation of each column of a matrix in matlabmatlab中矩阵每一列的自相关
【发布时间】:2018-06-05 20:23:34
【问题描述】:

我的数据包含在一个名为 input_data_matrix 的矩阵(dim:900 x 10)中,该矩阵的每一列都有 900 个时间序列随机信号(光读数整数值)。 我想独立计算同一列的这 900 个读数之间的关系(或相关性),(与其他列读数不相关),这样我可以获得与 10 列对应的 10 个相关结果值,这些值表示 900每列的读数是相关的,
所以,我的问题是如何在 matlab 中计算它,以及执行此操作的最佳相关类型是什么。

【问题讨论】:

    标签: matlab


    【解决方案1】:

    如果我理解正确,您想要的是输入数据每列的自相关。在这种情况下,我会使用 xcorr 函数 (https://es.mathworks.com/help/signal/ref/xcorr.html),它针对给定的向量计算其自相关。代码如下:

    [m, n] = size(input_data_matrix);
    output_matrix = zeros(m, n);
    
    for i = 1:n
      output_matrix(:,i) = xcorr(input_data_matrix(:,i));
    end
    

    【讨论】:

    • 我之前检查过(xcorr),我认为它用于查找列组合之间的相关性,而不是同一列的项目之间的相关性。 r = xcorr(x,y) 返回两个离散时间序列 x 和 y 的互相关。
    • 如果您查看 MathWorks 文档的下一行,您会看到:“r = xcorr(x) 返回 x 的自相关序列”,这就是您要查找的内容。我建议你试试我的代码,它可以工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-03
    • 2012-01-31
    相关资源
    最近更新 更多