Getting the mean of a sample data is easy in MATLAB: you collect all the data in an array and simply call mean on it. But what if the data is far too large to be stored all at once? Or if it is generated live, and you do not know in advance when data generation will end?
The utility class described here fill these two use cases. At the cost of time (using a class in MATLAB is costy), it generates the most important statistics descriptors of a dataset in a rolling fashion. Each data item is appended one by one. They are not stored in the memory, and therefore the memory cost is independant of the sample size. Statistics can accessed anytime. And as shown in case two, the class can transparently operate on data item that are scalars, arrays, matrices, and images.
Two example applications are described in a published html page. The second one requires the image processing toolbox.
Jean-Yves Tinevez (2020). Rolling statistics (https://www.mathworks.com/matlabcentral/fileexchange/40014-rolling-statistics), MATLAB Central File Exchange. Retrieved .