A problem in the usage of multidimensional scaling (cmdscale)

3 次查看(过去 30 天)
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?

采纳的回答

Jeff Miller
Jeff Miller 2023-2-7
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.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Dimensionality Reduction and Feature Extraction 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by