A problem in the usage of multidimensional scaling (cmdscale)

5 vues (au cours des 30 derniers jours)
Sina
Sina le 7 Fév 2023
Hello everyone.
I have some nodes in a cartesian coordinates that have a specific configuration.
I've used cmdscale(D) for creating a configuration based on euclidean distance matrix D.
Matrix D is based on the positions of my nodes.
My problem is that cmdscale does mirroring than the initial node configuration.
How can we cancel mirroring in cmdscale?

Réponse acceptée

Jeff Miller
Jeff Miller le 7 Fév 2023
You can't cancel that. With only the distance information in D, the mds function has no way of knowing what is up/down/left/right or north/south/east/west etc. The axes and directions that the algorithm produces are based on minor numerical quirks in D (that seem irrelevant to us).
For example, look at the map output in the first example on the cmdscale documentation page--north/south and east/west are both inverted relative to the real world locations of these cities as we usually display them on maps.
What you can do is to rescale the output coordinates Y that you get from cmdscale. For example, multiply by -1 along one dimension to reverse the picture with respect to that dimension.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by