How to take elements row wise or column wise in a 2d array
    3 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    MSP
      
 il 31 Dic 2016
  
    
    
    
    
    Commentato: Walter Roberson
      
      
 il 1 Gen 2017
            A is a 5*5 array. Its needed to take 7 elements along the 1st column and 2 from the beginning of 2nd column.So the window size is 7.Now that makes it possible to take 3 windows.So 4 elements are left.this last window should be 4 leftover elements and rest zeroes.How to have a loop that gives me the 4 windows in a variable
3 Commenti
  per isakson
      
      
 il 1 Gen 2017
				In your question you say
- "a 5*5 array"  
- "take 7 elements [window] along"  
- "that gives me the 4 windows in a variable"  
- "matrix signalprocess"  
"generalize"   Yes, but in what way? Arbitrary size of the input matrix and/or the window? Along columns or rows? ...
Risposta accettata
  Walter Roberson
      
      
 il 31 Dic 2016
        1 Commento
  Walter Roberson
      
      
 il 1 Gen 2017
				window = 7;
A = randi(5,5);
n = numel(A);
left_over = mod(n, window);
if left_over == 0
  stream = A(:);
else
  stream = [A(:); zeros(window - left_over, 1)];
end
output = reshape(stream, window, []);
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Loops and Conditional Statements in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


