# plot a certain x,y values from a large matrix

19 views (last 30 days)
smo on 13 Aug 2015
Answered: Star Strider on 13 Aug 2015
hi,
i have a 4000rows(with x value from 1:4000) and 2 column (of y values) matrix. How can i plot x&y with, say, taking x value from x > 500 and x<2500 and their corresponding y values?
thank you very much.

Lessmann on 13 Aug 2015
You can use the colon operator to select a subset of your vector, like
plot(x(500:2500),y(500:2500))

#### 1 Comment

smo on 13 Aug 2015
Hi, thanks for that. I didn't make myself clear enough, I actually meant i don't know the index of x. (which means x are a set of numbers not in orders).
But I have did a small test myself and found the answer: first index x-values and then use the x and y value only for that index. I am putting my answer here incase it can help someone else.
for example:
x = [1:10];
y = [11:20];
idx = find (x>3 & x <7);
x_new = x(idx);
y_new = y(idx);
plot (x_new, y_new, '-o')

Star Strider on 13 Aug 2015
This works:
x = randi(4000, 1, 100); % Create Data
y = randi(99, 2, 100);
xp = x(x>500 & x<2500);
yp = y(:,(x>500 & x<2500));
figure(1)
plot(xp, yp, 'bp')
grid

### Tags

No tags entered yet.

Translated by