/ / ¿Cómo puedo obtener la matriz de distancia euclidiana de la matriz de adyacencia si la distancia entre vecinos se fija en uno? Matlab, euclidean-distance, adyacencia-matriz

¿Cómo puedo obtener la matriz de distancia euclidiana de la matriz de adyacencia si la distancia entre vecinos está fijada en una matriz de adyacencia de matlab, euclidiana y adyacente?

Tengo una matriz de adyacencia, no sé la ubicación de los puntos, solo sé que la matriz de adyacencia y la distancia entre vecinos son iguales.

Entonces, ¿cómo obtengo la distancia entre puntos?

¿Hay algún algoritmo que haga eso?

Respuestas

1 para la respuesta № 1

Entonces, ¿cómo consigo la distancia entre los puntos?

En general, puede "t, suponiendo que está utilizando la distancia euclidiana como está etiquetado". Con la información que ha proporcionado, no puede crear un diseño único (incrustado) del gráfico.

Como un pequeño contraejemplo, tome la matriz de adyacencia:

[0 1 1]
[1 0 0]
[1 0 0]

Vertex 1 está conectado a Vertex 2 y Vertex 3formando un angulo El ángulo entre los segmentos (1,2) y (1,3) puede ser cualquier cosa que deseemos de 0 ° a 180 °, lo que hace que la distancia entre los vértices 2 y 3 entre 0 y 2 unidades.

Para encontrar algo razonable, primero tendrá que imponer algún tipo de diseño en el gráfico.


0 para la respuesta № 2

Dado que la matriz de adyacencia representa un gráfico, debe atravesar el gráfico para encontrar las posibles rutas. Puedes hacerlo usando búsqueda de amplitud, ya que la gráfica no está ponderada. tenga en cuenta que la distancia entre algunos puntos puede ser infinita, ya que puede que no haya un camino de uno a otro