triind2sub

Convert the indices of pdist results to subscripts of its input

You are now following this Submission

triind2sub is a helper function for working with the output of pdist. It's analogous to the way ind2sub works with linear indices of arrays to find the corresponding subscripts. Using triind2sub avoids the time and space required by using the squareform function.
Example:

square = [0 0; 0 1; 1 1; 1 0];
% find the distances between the corners of the unit square
dists = pdist(square);
% report the pairs of points with maximum separation
[col, row] = triind2sub(size(square), find(dists == max(dists)))
% report the pairs of points with minimum separation
[col, row] = triind2sub(size(square), find(dists == min(dists)))

Without triind2sub you could instead use

[col, row] = find(squareform(dists) == max(dists))
[col, row] = find(squareform(dists) == min(dists))

to achieve similar results but this approach is more than ten times slower, produces duplicates and requires more memory.

Cite As

James Ashton (2026). triind2sub (https://in.mathworks.com/matlabcentral/fileexchange/63205-triind2sub), MATLAB Central File Exchange. Retrieved .

Categories

Find more on Statistics and Machine Learning Toolbox in Help Center and MATLAB Answers

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.0.0.0