Replicating values a certain number of times
    4 ビュー (過去 30 日間)
  
       古いコメントを表示
    
Hello, I have a long array of data from 0 to 1959 in steps of 1. Is there any way to expand that data so that each value repeats x number of times? ie. if x is 4
new = 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3...
I have compressed data and I want to be able to expand it with this approximation.
Thanks for your help!
0 件のコメント
採用された回答
  Wayne King
    
      
 2013 年 12 月 3 日
        
      編集済み: Wayne King
    
      
 2013 年 12 月 3 日
  
      There are a number of ways to do this.
One way use a constant interpolator:
 x = 0:9;
 h = ones(4,1);
 xnew = zeros(40,1);
 xnew(1:4:end) = x;
 y = filter(h,1,xnew);
Another way use repmat()
 x = (0:9)';
 x = (repmat(x,1,4))';
 x = reshape(x,40,1);
0 件のコメント
その他の回答 (2 件)
  Andrei Bobrov
      
      
 2013 年 12 月 3 日
        Jos (10584)'s idea:
k = 1959;
n = 4;
x =  floor((0:(k+1)*n-1)/n);
0 件のコメント
参考
カテゴリ
				Help Center および File Exchange で Matrices and Arrays についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!