Remove zeros and perform calculation with non-zero elements
    8 views (last 30 days)
  
       Show older comments
    
Hi,
I have a array of B with 403 elements (403 x 1). Some of the values are qual to zero but I want to remove the zeros from the array and perform a calculation with non-zero elements. After the calculation with non-zero elements, the new values need to be replaced with old values.
Can anybody help me how I can do it MATLAB?
Thanks,
Dumindu.
0 Comments
Answers (2)
  Sean de Wolski
      
      
 on 2 Jun 2014
        
      Edited: Sean de Wolski
      
      
 on 2 Jun 2014
  
      Extract the elements in C where B is nonzero
D = C(B~=0)
Extract the nonzero elements of B into D
D = nonzeros(B)
  per isakson
      
      
 on 2 Jun 2014
        
      Edited: per isakson
      
      
 on 2 Jun 2014
  
      Hint
    B(not(B==0)) = perform_calculation( B(not(B==0)) );
where
    function M2 = perform_calculation( M1 )
        % calculations    
    end
If calculations use more variables make perform_calculation a nested function to make the variables of the caller available to calculations.
See Also
Categories
				Find more on Logical 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!