This standalone version of the EOF function is no longer being maintained. It still works fine, but you'll find the most up-to-date version in the Climate Data Toolbox for MATLAB here: https://www.mathworks.com/matlabcentral/fileexchange/70338. If the eof function has been useful for you, please cite our Climate Data Toolbox for MATLAB paper!
This function simplifies the process of applying Empirical Orthogonal Functions (spatiotemporal principal component analysis) to 3D datasets such as climate data. EOF analysis is not terribly difficult to implement, but much time is often spent trying to figure out how to reshape a big 3D dataset, get the EOFs, and then un-reshape. This function does all the reshaping for you, and performs EOF analysis in a computationally efficient manner. The analysis method is a streamlined and optimized version of Guillame MAZE's caleof function, method 2.
For a full description and an in-depth tutorial describing how to perform EOF analysis on climate data, click on the Example tab above.
Greene, C. A., Thirumalai, K., Kearney, K. A., Delgado, J. M., Schwanghart, W., Wolfenbarger, N. S., et al. (2019). The Climate Data Toolbox for MATLAB. Geochemistry, Geophysics, Geosystems, 20. https://doi.org/10.1029/2019GC008392
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Inspired by: PCAtool, PCA (Principial Component Analysis), Shade Anomaly, PCA (Principal Component Analysis), PCA and ICA Package, PCA, Empirical orthogonal function (PCA) estimation for EEG time series, Face recognition using PCA, Principal Component Analysis for large feature and small observation, trend, Fast SVD and PCA, pca, borders, Empirical Orthogonal Function (EOF) analysis, Empirical Orthogonal Function (EOF) with Spatiotemporal Convertion, cmocean perceptually-uniform colormaps, Principal Component Analysis, PCA, anomaly, detrend3
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Fixed the issues that arose from rounding the explained variance values, fixed the issue of results going complex for large numbers of modes, updated and expanded the Tutorial.
Typo fix in the documentation.