2017-01-21 7 views
0

私はxlsxファイルn行とm列を持っています。私は最初の5行の平均値を計算し、次の5行は同様に(各5平均値)データのために計算します。最初の5行の勇気を計算する方法は、次の5行同様にmatlabで続ける

+0

こんにちは、ようこそ。これまでに何を試しましたか? Excelスプレッドシートのコードまたは少なくともいくつかのサンプルデータを提供してください。 – QueryLars

答えて

0

Aがあなたの行列である場合には、およそ何:

m=[]; 
for ii=1:5:20 
m(end+1)=mean(mean(A(ii:ii+4,:))); 
end 

それはあなたのために働くのでしょうか?ここで

+0

'mの長さを連続的に拡張しているので、これは極端に遅くなることに注意してください。 – Suever

0

があるかなり速いAが大きい場合はする必要があることを「ハック」:

m = mean(kron(speye(size(A,1)/5),ones(1,5))*A/5,2); 
0

あなたが最初の次元に5行のブロックを取得するために作り変えることができます。 A

  1. 計算平均のブロックの上に最初の次元で5行のブロックを取得するために行列を再構築、次のように

    m = squeeze(mean(reshape(A,5,[],size(A,2)),1)); 
    

    コードが動作するあなたの行列である場合5行。

  2. 最初の次元はシングルトンなので、出力を2次元マトリックスにするようにスクイーズする方が良いです。

+0

ありがとうございます。このコマンドは私に多くの助けを与える –

+0

私はそれが助けてうれしいです。私の答えを受け入れることを検討できますか? – lucianopaz

関連する問題