Hallo,
for a given matrix is there an efficient way in matlab to make its small values (e.g. smaller than 0.001) set as zero?
Thanks in advance

 Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 5 de Dic. de 2011

2 votos

e.g. A - your matrix
A(abs(A)<1e-3)=0

2 comentarios

Nikolaos
Nikolaos el 5 de Dic. de 2011
thanx a lot, but what if i want to set zero to the matrix values which have either real part <0.001 and imaginary value <0.001
Walter Roberson
Walter Roberson el 5 de Dic. de 2011
A(abs(real(A))<0.001 | abs(imag(A))<0.001) = 0;
Note though that if you had a number such as 12345+0i then this would be set to 0, because you asked for the value to be set to 0 if *either* the real or imaginary part were small. You might wish to change the | to &

Iniciar sesión para comentar.

Más respuestas (1)

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Preguntada:

el 5 de Dic. de 2011

Respondida:

el 23 de Jul. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by