我有一个名为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
据我所知,您想要做50x120=6000个相关性,每个相关性都是a的1x185子集与b的所有子集之间的相关性。如果这是真的,您需要为每个相关性调用corr
。
试试arrayfun(@(i) corr(Ap(i,:),B), 1:size(Ap,1))
,其中Ap = reshape(A, [], size(A,3)
.