Making Pairs of Indices in Matrix- Pairwise Function

10 次查看(过去 30 天)
Hello,
I want to make a pairwise function in matlab simialar to how it is done in python. Or is there one already in matlab?
Overall, I am trying to return a list of pairs of indices in my matrix and then take the distance between each pair.
Any input would be greatly appreciated.
Thank you!

采纳的回答

Matt J
Matt J 2020-6-16
编辑:Matt J 2020-6-16
It depends what Matlab data-type you consider to be the equivalent of a Python tuple. I tend to think of cell arrays as the equivalent of a tuple because cells can store sequences of mixed types, but matrix form is generally the form in Matlab that will support most mathematical operations you might want to do. Below, I generate a set of pairs in both matrix and cell array form.
n=4;
pairMatrix=[0:n-1;1:n].';
pairCell=num2cell(pairMatrix,2)
Overall, I am trying to return a list of pairs of indices in my matrix and then take the distance between each pair.
You mean, the Euclidean distances when each pair is viewed as a 2D coordinate? If you have the Statistics Toolbox, then this can be done using pdist2,
>> pdist2(pairMatrix,pairMatrix)
ans =
0 1.4142 2.8284 4.2426
1.4142 0 1.4142 2.8284
2.8284 1.4142 0 1.4142
4.2426 2.8284 1.4142 0
  4 个评论
Matt J
Matt J 2020-6-16
You're quite welcome, but please Accept-click the answer to signify that you are satisfied with the solution.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Call Python from MATLAB 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by