Changing real part of complex number?
5 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Danijel
il 10 Ott 2017
Modificato: John D'Errico
il 10 Ott 2017
I have an array of compelx numbers. I'd like to change the real part of the 34th array member to zero. This code doesn't work:
real( my_complex_array(34) ) = 0;
What's the solution?
0 Commenti
Risposta accettata
John D'Errico
il 10 Ott 2017
Modificato: John D'Errico
il 10 Ott 2017
X = (1:35)' * (1+1i); % not being very creative here
Now, there are lots of ways to just kill the real part of only the 34'th element. This will work:
X(34) = X(34) - real(X(34));
Perhaps simpler, because it will not require the subtraction.
X(34) = 1i*imag(X(34));
Or,
X(34) = 0 + 1i*imag(X(34));
Another one, using complex.
X(34) = complex(0,imag(X(34));
In any event, did it work?
X(33:35)
ans =
33 + 33i
0 + 34i
35 + 35i
Of course it did.
0 Commenti
Più risposte (1)
Vedere anche
Categorie
Scopri di più su Operators and Elementary Operations in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!