How do i insert one value from one array to another array
Show older comments
I have 2 arrays with coordinates. For example
A = [1,2;2,1;1,1;1,3;3,2]
B = [0.5,0.5;2,2]
I compute for every point in A the nearest Point from B. I use dsearchn
k = dsearchn(B,A)
Now I want to give every point in B the next points from A. Making for every point in B a list of nearest points from A. Like point B(2,:) ans = 2 , 2 has the next points A(1,:),A(2,:),A(4,:) and A(5,:). I have no clue how to do it right and efficient.
2 Comments
Rik
on 2 Aug 2022
What is the actual output in terms of Matlab variables you want?
Lars Urban
on 2 Aug 2022
Accepted Answer
More Answers (1)
Look at pdist2
A = [1,2;2,1;1,1;1,3;3,2] ;
B = [0.5,0.5;2,2];
pdist2(A,B)
2 Comments
Lars Urban
on 2 Aug 2022
David Hill
on 2 Aug 2022
I don't understand your comment. Each column above gives the distance between each point in B with all the points in A. You could sort each column and then index into A to provide the sorted listing of the closest points of A to each point in B.
Categories
Find more on Data Types 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!