How do I find a specific x values in an array(?) of x,y locations?
23 views (last 30 days)
Show older comments
I'm able to create a matrix of x, y values ,
coordinates = [1,2; 3,4; 10,5; 4,5];
and use find(x), to search in the array,
find(coordinates == 10);
however once I attempt to use a bigger matrix this function doesnt seem to work and I dont understand why,
find(locations==143.4955);
returns an empty matrix but I know there are x values with 143.4955 in the matrix, can anyone help me?
0 Comments
Accepted Answer
Chunru
on 8 Jan 2022
Edited: Chunru
on 23 Jan 2022
% Now you have posted your data:
load('location array.mat')
whos
% Your data is 2670x2
locations
% floating point inside computer may not be exact
plot(locations(:,1)); hold on; plot(locations(:,2))
% Your data has values (in both columns) close to 143.4955
% In searching the closest points, you have to specify a suitable tolerance: 1e-4 below
% Search along the 1st column (you may have different criterion)
idx = find(abs(locations(:,1) - 143.4955) < 1e-4)
locations(idx, :)
2 Comments
More Answers (0)
See Also
Categories
Find more on Matrix Indexing 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!