繁体   English   中英

MATLAB多次保存一个函数的多个输出

[英]MATLAB save multiple outputs from a function many times over

在MATLAB中,我试图创建内置函数[r, p] = corr(X1,Y1);的输出矩阵[r, p] = corr(X1,Y1); 在多个X和Y上使用此功能后。 然后,我想将所有r和p合并到各自的矩阵R和P中。例如,如果仅从corr调用一个输出,则可以轻松实现:

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

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

谢谢。

您可以尝试以下方法

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增长,而无需您手动将它们与临时变量组合在一起。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM