Is there a function that will allow me to convert a Euclidean distance calculation for two vectors in a matrix to all the vectors in the matrix?

1 visualización (últimos 30 días)
The code I have currently converts any two rows of 4096 image vectors within a matrix which I have named allData. e.g.
diffs = allData(1,:) - allData(2,:) % 1 being the first row of vectors...
diffsSq = diffs .*diffs
sqrt(sum(diffsSq))
Is there a Matlab function that can maintain this calculation and iterate over all the image rows comparing each with each and then allow me to take the average(mean) of the result. I know thats a lot of calculations but hopefully it will make my result more accurate than just comparing distance between two images.
I suppose the mean is just one line of code e.g. result = mean(allData,dist) or something to that effect.
I appreciate any guidance you can share, thank you

Respuesta aceptada

Von Duesenberg
Von Duesenberg el 25 de Mzo. de 2018
If I understand your question correctly, this should do the trick:
mean(pdist(allData))
  3 comentarios
Alexander Eaton
Alexander Eaton el 25 de Mzo. de 2018
thank you very much, I think once I find a way to calculate Euclidean distance over all rows, then the global mean may be the answer I require to compare against other data, but it would also be handy to have the function that can create a mean over each row and shown as a graph. I appreciate very much the help guys, thank you.
Alexander Eaton
Alexander Eaton el 25 de Mzo. de 2018
sorry if I only upvoted one answer here,dont know how I can do both, they were both very helpful.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by