1

[r, p] = corr(X1,Y1);在 MATLAB 中,我试图在多个 X 和 Y 上使用此函数后创建内置函数的输出矩阵。然后,我想将所有 r 和 p 合并到它们各自的矩阵 R 和 P 中。例如,如果我只调用一个输出,我可以很容易地做到这一点corr

R = [corr(X1,Y1), corr(X2,Y2); (...)
     corr(X3,Y3), corr(X4,Y4)];

as默认corr返回r值。有没有办法实现这一目标p?下面是我做的很长的路,我只是想知道是否有像上面这样更短更简单的方法。

首先找到每个rand p

[r1, p1] = corr(X1,Y1);
[r2, p2] = corr(X2,Y2);
[r3, p3] = corr(X3,Y3);
....

然后将它们组合成矩阵:

R = [r1 r2; (...)
     r3 r4; (...)
     ...];
P = [p1 p2; (...)
     p3 p4; (...)
     ...];

谢谢。

4

1 回答 1

1

你可以尝试一些类似的东西

for i=1:n,
  [R(:,end+1), P(:,end+1)] = corr(X(:,i), Y(:,i));
end

只要确保R(:,1)并且P(:,1)尺寸正确。分配R(:,end+1)andP(:,end+1)将自动增长RP而无需手动将它们从临时变量中组合起来。

于 2013-02-22T04:35:57.730 回答