how to run principal component analysis in a 3D matrix
12 views (last 30 days)
Show older comments
Hi,
I am trying to run principal component analysis, pca() function to a 3D matrix. It does not work and I think it only works with 2D matrixes. Is there any way to circunvent this limitation?
Thank you,
Best regards,
0 Comments
Accepted Answer
AndresVar
on 21 Feb 2022
Edited: AndresVar
on 21 Feb 2022
You can reshape the matrix to 2D and then when you get results convert it back to the orginal dimensions if needed
There tricky part is to choose how to reshape. But say 2 dimensions are data, and the third is time then
data3d = ones([2,2,3]);
data2d = reshape(data3d,[],size(data3d,3));
size(data2d)
so the columns become the new time dimension.
0 Comments
More Answers (1)
Image Analyst
on 22 Feb 2022
See my attached demo where I run it on a 3-D (true color) image. Adapt as needed.
0 Comments
See Also
Categories
Find more on Dimensionality Reduction and Feature Extraction in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!