2016-03-28 6 views
0

私は2 m x n個の行列を持ち、与えられたウィンドウの長さ内のセグメントの標準的な相関を計算したいと思います。たとえば、ウィンドウの長さが100の場合、相関係数はMatlab:配列のセグメントをループする

canoncorr(X(1:100,:),Y(1:100,:)) 
canoncorr(X(101:200,:),Y(101:200,:)) 
canoncorr(X(201:300,:),Y(201:300,:)) 
... 

などすべて1つのマトリックスに蓄積したいと考えています。私は相関係数rにのみ興味があります。

私は次のことをしようとしています:

win=100; 
r=[]; 
for i=1:win:size(X,1)-win-2 
    [A,B,r(i,:)] = canoncorr(X(i:i+win,:),Y(i:i+win,:)); 
end 

をしかし、私の結果の行列は、行1、101、201などから値を保存しないだけでなく、1と101の間の行を埋め、その上にゼロ。

私は

[A,B,r(i:i+win,:)] = canoncorr(X(i:i+win,:),Y(i:i+win,:)); 

その後、添字割り当て寸法の不一致をしよう。

私は間違っていますか?

答えて

0

iは、1、101、201から行く...

ので、101thの行をチェックし、それらがゼロであるかどうかを確認してください。

また、spy(r)を使用して行列要素を表示することもできます。

関連する問題