Calculating distance between two points from a matrix in 2d and 3d
20 views (last 30 days)
Show older comments
lisa Liang on 21 Jul 2020
Commented: paul harder on 8 Apr 2021
I am new to MatLab and coding. I have a set of points in x and y coordinates, and they are sorted in a 701*14 matrix called 'rawdata'. The first two column are x and y coordinate for point#1 and the next two are the x and y coordinates for point#2 (as shown in screenshot). I want to calculate the distance between point#1 and point#2 for each row and have the resulted distance in matrix. I think I'd calculate distance by sqrt((x2 - x1) ^ 2 + (y2 - y1) ^ 2) in 2d or sqrt((x2 - x1) ^ 2 + (y2 - y1) ^ 2 + (z2 - z1) ^ 2)in 3d? But how do I write in a formatt that matlab can read and calculate?
Sorry I am a coding newb. And thank you very much for your help in advance!
waqas on 21 Jul 2020
This would be the implementation of your formula. But, NaN would be a problem for you since 3rd and 4th columns are NaN and would make the output distance NaN too.
dist = sqrt(((A(:,3)-A(:,1)).^2 + (A(:,4)-A(:,1)).^2))
paul harder on 8 Apr 2021
just to clarify a minor typo, the last 1 should be a 2
dist = sqrt(((A(:,3)-A(:,1)).^2 + (A(:,4)-A(:,2)).^2))
More Answers (0)
Find more on Elementary Polygons 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!