Can PCA be applied to achieve any data dimension that we want?
1 次查看(过去 30 天)
显示 更早的评论
Recently, I was trying to reproduce an algorithm in other's paper. In it, the author exploited PCA to reduce the dimensionality of a
matrix
to
which is shown below as Fig.1. I was not familiar with the PCA. After reading the MATLAB documentation of PCA, I was wondering whether this reduction in matrix dimensionality was possible.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/793714/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/793719/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/793724/image.png)
If it is true, how should I realize it in MATLAB?
![Fig.1](https://www.mathworks.com/matlabcentral/answers/uploaded_files/793709/Fig.png)
The matrix
represents the coupling from transmit antennas to receive antennas. Each row (
) represents the coupling from all J transmit antennas to the corresponding receive antenna.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/793729/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/793734/image.png)
0 个评论
采纳的回答
Walter Roberson
2021-11-8
pca() can be applied to any 2D matrix (including matrixes that include NaN)
pca() does not have an inherent limitations on the size of the 2D matrix you pass in, other than the normal MATLAB size limits.
However, as part of the work, MATLAB may need to construct a covariance matrix, which for an input of n rows and p columns, would be a p x p matrix. If you have many more columns in your matrix than you have rows, then that could be trying to construct a matrix that you do not have room for in memory.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!