在MATLAB中,我试图在多个X和Y上使用此函数后创建内置函数[r, p] = corr(X1,Y1);
的输出矩阵。然后,我想将所有的r和p合并到它们各自的矩阵R和P中。例如,如果我只调用corr
的一个输出,我可以很容易地做到这一点:
R = [corr(X1,Y1), corr(X2,Y2); (...)
corr(X3,Y3), corr(X4,Y4)];
默认情况下,corr
会返回r
值。有没有办法为p
实现这一目标?以下是我做的很长的路,我只是想知道是否有更简单,更简单的方法。
首先找到每个r
和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; (...)
...];
感谢。
答案 0 :(得分:1)
你可以尝试一下
for i=1:n,
[R(:,end+1), P(:,end+1)] = corr(X(:,i), Y(:,i));
end
确保R(:,1)
和P(:,1)
的大小正确无误。
分配R(:,end+1)
和P(:,end+1)
会自动增加R
和P
,而无需手动将它们与临时变量合并。