Grouping Data Into Smaller "Bins"
    6 ビュー (過去 30 日間)
  
       古いコメントを表示
    
Hi everyone,
I have a matrix G containing a number of data points (say 5000 for the sake of this example). I would like to create a new matrix, K consisting of only 50 elements, so that every element is the average of the corresponding 100 elements in matrix G.
For example the third element of K should be the mean of elements 100 to 150 of G.
Any way to quickly do that?
0 件のコメント
採用された回答
  Jan
      
      
 2018 年 12 月 12 日
        
      編集済み: Jan
      
      
 2018 年 12 月 12 日
  
      G   = rand(5000, 3);  % "data points" is not clear
N   = 100;
siz = size(G);
GG  = reshape(G, [N, siz(1)/N, siz(2)]);
R   = reshape(sum(GG, 1) / N, siz(1)/N, siz(2));
If the length of the first dimension is not a multiple of N, you might want to crop the input at first.
R = BlockMean(G, N, 1) / N;
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
				Help Center および File Exchange で Resizing and Reshaping Matrices についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

