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

51 views (last 30 days)
Commented: Adrian on 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.

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

Mahak SINGH CHAUHAN on 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))
Dishant Arora on 14 Apr 2014
real outputs real part, it doesn't eliminate complex numbers.

### Categories

Find more on Statistical Visualization 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!

Translated by