X= pdist2 (A,B, "chebychev")
A and B both are 3000x3 arrays (x,y,z data).
Why is X a 3000x3000 array rather than a 3000x1 array?
This seems to give the right answer though... why?
Z =diag(pdist2 (A,B, "chebychev"));

 Respuesta aceptada

Dave B
Dave B el 15 de Nov. de 2021

0 votos

pdist2 is providing all the pairwise distances. It compares row 1 of A with row 1 of B (Z(1,1)), then row 1 of A with row 2 of B (Z(1,2) and Z(2,1)), etc. Along the diagonal are the matching row cases.

3 comentarios

Pelajar UM
Pelajar UM el 15 de Nov. de 2021
Thanks, but is there a function that would give only the diagonal values?
I could use the diag function to get this, but when A and B becomes very large, then I run out of memory.
Dave B
Dave B el 15 de Nov. de 2021
Editada: Dave B el 15 de Nov. de 2021
Chebyshev distance is the maximum distance across dimensions, right?
a=rand(10);
b=rand(10);
cheby_pdist2=diag(pdist2(a,b,'chebychev'))
cheby_pdist2 = 10×1
0.8386 0.6272 0.8585 0.6400 0.4895 0.8044 0.6681 0.7439 0.8985 0.7146
cheby_daveb=max(abs(a-b),[],2)
cheby_daveb = 10×1
0.8386 0.6272 0.8585 0.6400 0.4895 0.8044 0.6681 0.7439 0.8985 0.7146
Pelajar UM
Pelajar UM el 15 de Nov. de 2021
Right. Thank you so much.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Line Plots en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 15 de Nov. de 2021

Comentada:

el 15 de Nov. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by