How to find complex numbers in an array and turn it into something else?

29 visualizaciones (últimos 30 días)
So if I had an array that contains real numbers and complex number such as this:
r =
0.2876 + 0.3069i
0.2876 - 0.3069i
0.3127 + 0.0000i
And I wanted to change any complex numbers to 0?

Respuesta aceptada

Star Strider
Star Strider el 13 de Oct. de 2015
This works:
r = [0.2876 + 0.3069i
0.2876 - 0.3069i
0.3127 + 0.0000i];
r(imag(r) ~= 0) = 0
r =
0.0000e+000
0.0000e+000
312.7000e-003
Test for the imaginary part to be not equal to zero to get only the real values. Then set the complex values to zero.
  2 comentarios
Tin Nguyen
Tin Nguyen el 13 de Oct. de 2015
Thank you very much. How about if I want to make it NaN?
Star Strider
Star Strider el 13 de Oct. de 2015
My pleasure.
To replace them with NaN, the assignment becomes:
r(imag(r) ~= 0) = NaN
r =
NaN
NaN
312.7000e-003

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by