1

わかりましたので、配列 <134x106x108> があります。私がやろうとしているのは、この配列をループして、平均/標準偏差を別の配列に保存することです。基本的に、この meanArray と sdArray には 134 個の <106x108 doubles> があります。

 %dayv=<134x106x108>
 sdArray=zeros(1,106,108);
 meanArray=zeros(1,106,108);
for i=1:size(dayv,1)
    %store means/standard deviation into an array
    meanArray(i,:,:) = squeeze(mean(dayv(i,:,:)));
    sdArray(i,:,:) = squeeze(std(dayv(i,:,:)));
end
4

2 に答える 2

4

各平均を106x108行列全体の平均にしたい場合、簡単な解決策の1つは、次を使用して3d行列を2d行列に再形成することです。

dayv2 = reshape(dayv,[134 106*108]);

これで、これらの106x108行列のそれぞれが、新しい行列の行ベクトルになります。

それで

meanArray = mean(dayv2,2); % Get mean of each row
stdArray  = std(dayv2,0,2);% Std of each row
于 2012-11-28T20:38:17.030 に答える