2017-05-10 5 views
0

私は、164372個のコンポーネントを含むMatlabの行ベクトルxを持っています。私は今、これらの要素を別のベクトルyにグループ化したいと考えています。これには52の要素が含まれていなければなりません。ベクトルyの最初の要素は、ベクトルxの最初の164372/52 = 3161要素の平均でなければならず、yの2番目の要素は、xの次の3161要素の平均でなければなりません。これは、ベクトルxの要素の52個の平均のすべてをyに配置します。特定のインデックスで囲まれたベクトルからの要素の加算

これをMatlabでどのように実装できますか?特定のインデックスから別のインデックスに要素を合計できるようにする組み込み関数がいくつかありますか?

ご協力いただきありがとうございます。 reshapemean

答えて

3

x = rand(1,164372); % example data 
N = 52; % block size. Assumed to divide numel(x) 
result = mean(reshape(x, numel(x)/N, []), 1) 

これは何である:通常column-major orderに52行の行列にベクトルを再形成し、各列の平均値を計算します。

関連する問題