Data averaging on a specific cell of a matrix
    10 views (last 30 days)
  
       Show older comments
    
    Junayed Chowdhury
 on 20 Mar 2018
  
    
    
    
    
    Commented: Junayed Chowdhury
 on 20 Mar 2018
            Hello, Say I have a matrix (A1) of single coloumn and 1000 rows ( 1000 X 1) in size. I have 0 values at random cells in it. Say row 55 has a 0 value, where row 54 has a values of 5.5 and row 56 has a value of 4.5. How to write a for loop that will find the 0 values and fill it with the averaging of its previous and after cell/row values?
thanks in advance
0 Comments
Accepted Answer
  Akira Agata
    
      
 on 20 Mar 2018
        You don't have to use for-loop for this. Assuming A1(1) and A1(1000) are not zero, and there is NO consecutive 0s, the following code can fill the 0 values with the averaging of its neighbourings.
idx = find(A1 == 0);
A1(idx) = (A1(idx+1)+A1(idx-1))/2;
More Answers (1)
See Also
Categories
				Find more on Creating and Concatenating Matrices in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
