![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1650786/image.png)
Disabling transformation in Matlab Procrustes analysis
1 次查看(过去 30 天)
显示 更早的评论
Matlab's procrustes function has the options to calculate Procrustes distance when scaling and reflection are disabled. Is it possible to also disable transformation? Or is my only option to add transform.c back to the optimal procrustes shape and manually calculate the procrustes distance?
For more background, I'm comparing two groups of 2D points from patients performing a matching task at multiple time points. I want to analyze how their ability to scale, rotate, transform, etc. improves over time by comparing the procrustes scores when each of these functionalities are disabled.
Thanks!
0 个评论
回答(1 个)
Suraj Kumar
2024-3-25
Hi Grace,
In the "procrustes” function, translation cannot be directly disabled using parameters; however, as a workaround you can subtract "transform.c" from the transformed component to undo the effects of translation.
Here's the code fragment showing how to negate translation effects.
Z1=Z-transform.c;
You can also use equation below to undo the effects one by one from the transformed component using “transform” structure.
Z = bYT + c.
where,
T=rotation and reflection component,
b=scale component,
c=translation component,
Y=set of points being transformed.
The attached image shows the transformations before and after cancelling the translation effects.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1650786/image.png)
For more information on “procrustes” function, refer to the link given below:
Hope this helps!
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Surface and Mesh Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!