Skip to content

HDF5, NetCDF4, fileio, system functions that act as an unofficial "stdlib" for Matlab.

License

Notifications You must be signed in to change notification settings

geospace-code/matlab-stdlib

Repository files navigation

Standard library for Matlab

DOI View stdlib for Matlab on File Exchange ci ci-nojvm

Matlab or GNU Octave users coming from other languages often notice the missing functionality contained within this user-developed, unofficial "stdlib" standard library of functions for users of Matlab or GNU Octave. These system, filesystem, and HDF5 / HDF4 / NetCDF functions are useful across several of our own and others projects.

Matlab ≥ R2021a has full functionality. Older versions of Matlab work back to about R2017b. If using GNU Octave, the minimum version is 6.0.

Self-tests can be run from that matlab-stdlib/ directory:

buildtool

API Documentation

Many Matlab-Stdlib functions use the factory JRE in Matlab or GNU Octave, and have been tested with JVM versions 8 and 17. For reference, we further discuss Java implementation details.

If Matlab was started with -nojvm or GNU Octave started without Java, most Matlab-stdlib functions still work. This CI job tests without Java.

GNU Octave

For HDF5 h5*() functions, install hdf5oct package from Octave prompt:

pkg install -forge hdf5oct

For NetCDF4 nc*() functions, install netcdf package from Octave prompt:

pkg install -forge netcdf

Acknowledgments

Stdlib for Matlab was partly funded by NASA NNH19ZDA001N-HDEE grant 80NSSC20K0176.