Filter löschen
Filter löschen

Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

How to get pdist() values of all the rows of a matrix with respect to a row of the same matrix?

1 Ansicht (letzte 30 Tage)
ejt
ejt am 13 Jun. 2018
Geschlossen: ejt am 18 Jun. 2018
Say, for example, I have a matrix x =[0 0; 1 0; 0 2; 3 0]. If I use pdist(x), Matlab will output all the Euclidean distance between every row of the matrix. But I want the distance with respect to only the first row. Output, something like [0; 1; 2; 3]. I am aware that I could select the first few entries of the result from pdist(x) to get the matrix as desired. But, as the size of matrix x increases there will be a lot of unnecessary computations happening, which I would like to avoid. I realize that I could have probably written a function instead of asking here. Let me know if there is a workaround to this problem, which will be beneficial in the future. Thanks.

Antworten (1)

Nithin Banka
Nithin Banka am 18 Jun. 2018
diffX = X - X(1, :);
yourReqOutput = sqrt(sum(diffX.^2, 2));%first row will be 0 as it is distance from itself.

Diese Frage ist geschlossen.

Tags

Produkte


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by