triind2sub
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.
引用格式
James Ashton (2024). triind2sub (https://www.mathworks.com/matlabcentral/fileexchange/63205-triind2sub), MATLAB Central File Exchange. 检索来源 .
MATLAB 版本兼容性
平台兼容性
Windows macOS Linux类别
标签
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!版本 | 已发布 | 发行说明 | |
---|---|---|---|
1.0.0.0 |