【问题标题】:Multidimensional array Matlab correlations多维数组 Matlab 相关性
【发布时间】:2015-07-28 01:12:46
【问题描述】:

我有一个名为 A 的矩阵 50x120x185,其中 50x120 是一系列经纬度坐标,185 是时间坐标。 还有另一个变量 1x185,我需要通过第三维时间(185)将此变量与矩阵的每个坐标相关联。

A= (50, 120, 185)

B=(1 2 3 4 5..)

我尝试使用以下代码重塑 A:

D = reshape(A,[],size(A,3));

但是当我试图关联时

G = corr2(D',B');

我得到错误

Error using corr2>ParseInputs (line 39)
 A and B must be the same size.
 Error in corr2 (line 21)
 [a,b] = ParseInputs(varargin{:});

有没有人知道一种不同的方法来让我的代码通过 A 的第三维将 B 与每个纬度和经度相关联?

值得注意的是,A 有很多 NaN

【问题讨论】:

    标签: matlab multidimensional-array correlation


    【解决方案1】:

    据我了解,您想要进行 50x120=6000 的相关性,它们中的每一个都是 A 的 1x185 子集与所有 B 之间的相关性。如果这是真的,您需要为每个调用 corr这些相关性。

    尝试类似arrayfun(@(i) corr(Ap(i,:),B), 1:size(Ap,1)),其中Ap = reshape(A, [], size(A,3)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-01
      • 2014-06-15
      • 2011-03-26
      • 2018-03-16
      • 2014-05-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多