How to calculate a 2D rotation vector with PCA?

5 visualizaciones (últimos 30 días)
Wookernel
Wookernel el 23 de Mayo de 2015
Editada: Alfonso Nieto-Castanon el 23 de Mayo de 2015
Hi all. I have two dataset (n x 2 matrix) in 2D space and I know their PCA matrices. PCA1 = [0.9981 -0.0622; 0.0622 0.9981], PCA2 = [0.5617 0.8273; 0.8273 -0.5617]
And I want to rotate one of these dataset and make them to be registered. How can I get a rotation vector?

Respuestas (1)

Alfonso Nieto-Castanon
Alfonso Nieto-Castanon el 23 de Mayo de 2015
Editada: Alfonso Nieto-Castanon el 23 de Mayo de 2015
find the angle between the first column of PCA1 and the first column of PCA2 (hint: cos(angle(a,b))*norm(a)*norm(b)=a'*b) and build your rotation matrix from that (e.g. [cos(ang) sin(ang); -sin(ang) cos(ang)])

Categorías

Más información sobre Dimensionality Reduction and Feature Extraction en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by