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?
0 个评论
采纳的回答
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 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!