Remove zeros and perform calculation with non-zero elements

8 visualizaciones (últimos 30 días)
Damith
Damith el 2 de Jun. de 2014
Comentada: Damith el 2 de Jun. de 2014
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.

Respuestas (2)

Sean de Wolski
Sean de Wolski el 2 de Jun. de 2014
Editada: Sean de Wolski el 2 de Jun. de 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
per isakson el 2 de Jun. de 2014
Editada: per isakson el 2 de Jun. de 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.
  2 comentarios
Damith
Damith el 2 de Jun. de 2014
How can I select the non-zero elements of B to a different array?

Iniciar sesión para comentar.

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by