plot a certain x,y values from a large matrix

4 views (last 30 days)
smo
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.

Answers (2)

Lessmann
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
smo on 13 Aug 2015
Edited: 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')

Sign in to comment.


Star Strider
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

Categories

Find more on MATLAB in Help Center and File Exchange

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!