Finding X value corresponds to a particular Y value?
Show older comments
I have a matrix , X=[5 6 9 8 4] Y=[8 7 2 1 9] If I plot this and I need to get position of the X value corresponds to Y=1, that means in which row the X value 8 is located? answer should be 4th position. How do I find this if the size of matrix is very big.. Please help me
2 Comments
Pooja Patel
on 29 Aug 2016
value = find(Y == Y); xaty = x(value) or u can take find(Y == 1) this will also work if size is big
Guillaume
on 29 Aug 2016
@Pooja Patel
value = find(Y == Y)
That is exactly the same as
value = 1:numel(Y)
Answers (1)
Andrei Bobrov
on 15 Jul 2013
X=[5 6 9 8 4];
Y=[8 7 2 1 9];
idx = find(Y == 1);
Xidx = X(idx);
3 Comments
jop schilder
on 24 Feb 2020
and how does this work if i want to retrieve mulitple values at once? so if i want
idx = find (Y == 1&2&7)
Thomas
on 29 Aug 2023
Thanks Andrei Bobrov level 9 MVP on 15 Jul 2013! I was able to finish my code for homework because of you!
Image Analyst
on 29 Aug 2023
@jop schilder you would do that this way
mask = (Y == 1) | (Y == 2) | (Y == 7); % Logical vector (Only 0's and 1's)
indexes = find (mark) % Vector of actual index locations (e.g. [39, 123, 348, 983, 8943, ....etc.]
Categories
Find more on Resizing and Reshaping Matrices 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!