簡體   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