MATLAB多次从函数中保存多个输出

时间:2013-02-22 04:00:42

标签: matlab

在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实现这一目标?以下是我做的很长的路,我只是想知道是否有更简单,更简单的方法。

首先找到每个rp

[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; (...)
     ...];

感谢。

1 个答案:

答案 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)会自动增加RP,而无需手动将它们与临时变量合并。