plot middle and end of an array

HI i want of plot the beginning and end of an array, leaving out the middle bit
something like . . . (here the comma doesn't work)
figure, plot(x(1:417,900:1000), y(1:417,900:1000))
is there an easy way to do this without splitting up the array?
thanks
Charlie

 Accepted Answer

Adam
Adam on 6 Jan 2017
Edited: Adam on 6 Jan 2017
figure; plot(x([1:417,900:1000]), y([1:417,900:1000]))
You have to put your indices into an array, then you can use them as any other array of indices, irrespective of whether they are contiguous or not.

2 Comments

In addition to what Adam said, if you want to leave a "gap" between elements 417 and 900, add a NaN value. As a simpler example:
% The NaN at the end of x allows us to put a NaN in the middle
% of the array to be plotted, x(ind), using indexing
x = [1:10 NaN];
y = x.^2;
ind = [1:5 11 7:10];
plot(x(ind), y(ind), 'o-')
Note that the points (5, 25) and (7, 49) are not connected. If instead you'd done something like:
ind2 = [1:5 7:10];
plot(x(ind2), y(ind2), 'o-')
those two points would be connected.
ok thanks for this I don't want the point to be connected so i will try this

Sign in to comment.

More Answers (0)

Tags

Asked:

on 6 Jan 2017

Commented:

on 7 Jan 2017

Community Treasure Hunt

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

Start Hunting!