How can I plot only the real elements in a plot?

32 Ansichten (letzte 30 Tage)
Adrian
Adrian am 14 Apr. 2014
Kommentiert: Adrian am 15 Apr. 2014
Hello.
I have this vector which I want to plot:
[13.0063+5.2866i 13.0063+4.0813i 13.0063+3.1717i 13.0063+2.3909i 13.0063+1.6299i 13.0063+0.6369i 14.1461 14.6237 14.9160 15.1183 15.2658 15.3761 15.6303 15.6466 15.6558 15.6589 15.6568 15.6502 15.6395 15.6253 15.6079 15.5877 15.5648 15.5395 15.5120]
So it's a vector with 29 elements, and id'like to plot it against another vector which is like this:[2:30]
The problem is that the elements that contain imaginary no. mess the graph up because for the complex elements, the real part is constant as you can see.
And my question is if that is a general way so I can plot only from the real no. further (from the 7th in this case), I was thinking maybe about an if function would be helpful, and in case the element has an imaginary part, maybe "skip it", or something like that. I don't know what should be the syntax for this kind of situation, to skip it, and to go to the next element.

Akzeptierte Antwort

Dishant Arora
Dishant Arora am 14 Apr. 2014
idx = (testArray==real(testArray)); testArray is the array under consideration.
realComponents = testArray(idx) ;
  1 Kommentar
Adrian
Adrian am 15 Apr. 2014
Yes Dishant Arora, that was what I needed. Thank you all very much.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Mahak SINGH CHAUHAN
Mahak SINGH CHAUHAN am 14 Apr. 2014
You can use real command in order to plot only real numbers where it is imaginary.
e.g: plot(l,real(m))
  1 Kommentar
Dishant Arora
Dishant Arora am 14 Apr. 2014
real outputs real part, it doesn't eliminate complex numbers.

Melden Sie sich an, um zu kommentieren.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by