dont want the number if its a part of a complex number

2 views (last 30 days)
So I know that doing;
Z = [0.5i 1+3i -2.2];
X = real(Z)
would give me
X = 0 1.0000 -2.2000
but what should I do if I only want pure real numbers and not even the real part of the complex number?
for example;
Z = [0.5i 1+3i -2.2];
"..."
would give me
X = 0 0 -2.2000
Thanks any help is appreciated.

Accepted Answer

Tanveer ul haq
Tanveer ul haq on 23 Oct 2019
Z = [0.5 1+3i -2.2];
Z(~imag(Z))

More Answers (1)

Bhaskar R
Bhaskar R on 23 Oct 2019
MATALB convert all numbers float if any number is float in the array as it Auto type cast so we need to convert from the manipulation as shown
flag = abs(real(Z)) == abs(Z);
X = real(Z).*flag;
  1 Comment
Brian S.
Brian S. on 23 Oct 2019
Edited: Brian S. on 23 Oct 2019
not exactly the method I was going for but it did answer the question, thanks a ton

Sign in to comment.

Categories

Find more on Dates and Time 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!