File Exchange

image thumbnail

DataSet Object

version (97.3 KB) by Scott Koch
The DataSet object (DSO) is a Matlab object created to hold both data and metadata.


Updated 09 Jul 2019

View Version History

View License

Data sets include far more ancillary information than simple tables of numbers and the DataSet Object (DSO) was designed as a generic container that can hold all of this information. The standard DataSet object is similar to a Matlab structure but it is intended to standardize how data is organized and maintained. It was originally designed in 2000 by a consortium of chemical and engineering industry experts to contain the kinds of data that they worked with in real applications. It has been updated numerous times since then to add relevant functionality needed for multivariate analysis of physical science and engineering data.
The DataSet Object includes fields for sample and variable labels, class variables, time and wavelength axes, etc. It can contain standard discrete, time-series, or multi-dimensional image data. The basic data table is a single-type array and can contain any numerical or logical data types. One or more "class" sets can also be created to contain categorical information. Labels and classes can be used as an index into the DSO.
NOTE: This object does not require the Matlab Statistics Toolbox but is also not compatible with the Statistics Toolbox Data Array Object. Adjust your Matlab path accordingly if you plan to use both objects.

Additional resources:

DataSet Object web page -
DataSet Object wiki documentation -

Cite As

Scott Koch (2021). DataSet Object (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (5)

Scott Koch

Yes, I'll upload a new version shortly.

Lauri Kurki

In Matlab 2016b, I received the following error (not present in 2015b):
"Error using inputname
Calling inputname from overloads of subsref, subsasgn, numel, and subsindex not supported."
Are there plans to add support for newer Matlab versions?

Barry M. Wise

Here's a little more info about our user's distribution of MATLAB versions and why we often don't use the very latest MATLAB features:

Even just a few percent of our users amounts to hundreds of people, so we don't take dropping support for older versions of MATLAB lightly.

Scott Koch

Yes, really! We had a meeting in Chicago with several instrument and software companies including representation from TMW to discuss what should go into a standard data format. We took this information and create the first version of the object, which was made publicly available in January 2002. The DSO has evolved considerably since that time.

Regarding it being an "old style" MATLAB object, well, yes it is. Our software has many thousands of users and we strive to be compatible with older MATLAB versions to the largest extent possible. Currently, the majority of our code is compatible back to MATLAB 7.0.4. This wouldn't be the case if we switched to the newer objects.


Old style MATLAB objects.

..."designed in 2000 by a consortium of chemical and engineering industry experts" really!?!

MATLAB Release Compatibility
Created with R14SP2
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!