How can I find distances to the chosen point from all the other points ( Euclidean distance ) ?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Damian Wierzbicki
le 26 Juin 2017
Commenté : Damian Wierzbicki
le 28 Juin 2017
Hi all, Let's assume that I have a huge matrix and say that I pick a point from that matrix. Is there a way of calculating euclidean distance from all the other points of that matrix and store them separately in the matrix of the same dimension where the number in each entry of a matrix is a number that represents the Euclidean distance to the pre-chosen point ?? Thank you
0 commentaires
Réponse acceptée
Image Analyst
le 27 Juin 2017
Assuming you mean in spatial space (which ignores the actual matrix values and just looks at their location), and not in intensity or value space (which compares differences in intensity or value of the matrix to some other intensity or value), then you can do:
% Setup
rows = 4; % For example
columns = 5;
% x and y can be column and row indexes, respectively, but they don't have to be.
x = 1; % For example
y = 1;
% Now compute the distances from every element to (x, y).
[XGrid, YGrid] = meshgrid(1:columns, 1:rows)
distances = sqrt((x - XGrid) .^ 2 + (y - YGrid) .^ 2)
7 commentaires
Image Analyst
le 28 Juin 2017
It looks like that's what Jan's code does. You can have his X be any number of rows and columns. And Point would be X(someRowIndex, someColumnIndex).
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!