Find distance between row vectors?
9 次查看(过去 30 天)
显示 更早的评论
I got two row vectors of 1x10, how can I find distaces between them? It should be working like, distance between first two columns to the rest of numbers, then it would continue for 2nd column from both arrays to the rest of numbers and so on... so that at the end we will get a 10x10 result.
I can do it for two columns like this
a=rand(10,2)
distances=squareform(pdist(a));
2 个评论
采纳的回答
Guillaume
2017-5-22
Am I missing something? can't you just concatenate you vectors into a matrix and do exactly the same as you did?
distances = squareform(pdist([X; Y].'))
Or since R2016b, you could simply do it yourself without pdist:
distances = hypot(X - X.', Y - Y.')
And in older versions
distances = hypot(bsxfun(@minus, X, X.'), bsxfun(@minus, Y, Y.'))
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!