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

151 views (last 30 days)
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?

Accepted Answer

Star Strider
Star Strider on 13 Oct 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 Comments
Star Strider
Star Strider on 13 Oct 2015
My pleasure.
To replace them with NaN, the assignment becomes:
r(imag(r) ~= 0) = NaN
r =
NaN
NaN
312.7000e-003

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!