MatLab source code published in Appendix of
The proposed unrestricted, unstandardized covariance-based PCA with Varimax rotation may be compactly coded in high-level numerical languages, including the popular MatLab (The MathWorks, Inc., 2002, MatLab Version 6.5, Release 13 [http://www.mathworks.com]). All crucial computational steps are exemplified by the MatLab routine provided below. It is important to note that the component weights (i.e., the factor scores) are estimated from intermediate factor score coefficients (rescaled with respect to the input variables; cf. lines 25-27) and the normalized raw data (ll. 28-34). The implemented Varimax procedure applies Kaiser’s normalization (i.e., the rows are normalized by their individual lengths) before rotation, which is reversed after Varimax convergence. Marginal computational differences from the BMDP-4M implementation (Dixon, 1992) are largely due to improved data precision, which affects estimates of matrix rank order (l. 8) and Varimax convergence (l. 14).
download MatLab source code