MATLAB Answers

plot a certain x,y values from a large matrix

19 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.

  0 Comments

Sign in to comment.

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

  0 Comments

Sign in to comment.

Sign in to answer this question.

Tags

No tags entered yet.


Translated by