This is a list of FLOSS ("Free/Libre/Open Source Software") projects for Matlab that I’ve found. I put this list together because there doesn’t seem to be a good central resource for finding FLOSS Matlab software.
I haven’t actually used all the libraries on this list, so I can’t vouch for their quality. I’m just noting their existence.
Submissions to this list are welcome. Make a Pull Request with them.
- GUI Layout Toolbox – Richer controls for arranging Matlab GUI widgets
- GRAMM – Advanced data visualization based on Grammar of Graphics
- PRMLT – Machine learning algorithms
- MISS_HIT – Style checker and code analyzer
- MathWorks Reference Architectures – MathWorks’ own open source tools for deploying Matlab systems on cloud providers like AWS and Azure
- matImage – Image processing library
- The
mattools
GitHub group has several other libraries
- The
- Physical Units Toolbox
- Treemap – Displays data using relative areas of nested rectangles
- findjobj – find Java handles in Matlab graphic objects
- export_fig - Exports figures to various formats
- tfigure – A tabbed figure control
- Matlab Schemer – Color themes for the Matlab desktop
- Process Manager – Launch and manage external processes from Matlab
- MOxUnit – A unit test framework
- DeepLearnToolbox – Deep Learning toolbox (deprecated)
- fig2svg – Export Matlab figures to SVG
- Chebfun – Computing with functions
- Glmnet – Lasso and elastic-net regularized generalized linear models
- mlAppKit – Enhance your work with Matlab’s App Designer
- ToolboxToolbox – Declarative dependency management for Matlab
- Logging for MATLAB – A flexible message logger for Matlab programs
- safeMap – Memory and interruption safe map
- MBeautifier – Code formatter for Matlab
- mpm – A simple package manager for Matlab
- m2uml – Generate PlantUML UML diagrams from M-code
- Transplant – An “easy way of calling Matlab from Python” using ZeroMQ and IPC
- Scilab Matlab/Octave Compatibility Toolbox – Port Matlab/Octave toolboxes to Scilab
- FieldTrip – A toolbox for MEG and EEG (brain imaging) analysis
- TDT – The Decoding Toolbox – Multivariate analysis of functional and structural MRI data
- MATPOWER – Power grid simulation and optimization
- T-MATS – A NASA-developed library for modeling thermodynamic systems
- Robotics Toolbox – Robotics-specific functionality
- GIBBON – The Geometry and Image-Based Bioengineering add-ON
- TopoToolbox – Analysis of digital elevation models
- TAPAS – Translational Algorithms for Psychiatry-Advancing Science – A neuroscience library
- DynaSim – Model and simulate dynamical systems for neural models
- Historical Stock Data Download by Captain Awesome – Downloads Yahoo Finance data
- Lenia – Mathematical lifeforms: cool 2D cellular automata visualization
- BM3D-Net – I'm not sure what this is, but it's something, and it's MIT licensed
- DIPimage – Scientific image processing and analysis
- pmtk – Probabilistic Modeling Toolkit
- gkaModelEye – An anatomically accurate, ray-traced model eye in Matlab.
- Brain2Mesh – A library for high-quality brain mesh generation
- Matlab-GAN – Various Generative Adversarial Networks in Matlab
- PIVlab – Particle Image Velocimetry Tool for Matlab
- Janklab – A suite of little programming libraries for Matlab
- Janklab-core – General-purpose library of tools, tricks, and coding aids
- MatlabProjectTemplate – Templates for creating nice Matlab project repo layouts
- SLF4M – A simple logging framework for Matlab, built on top of SLF4J and Log4J
- MCodeNavigator – A GUI for browsing Matlab source code trees
- matlab-bench – Benchmarks performance of basic Matlab language operations
- dispstr – An API for polymorphic customizable object display
= Octave-compatible = Not Octave-compatible
- "matlab" tag on Stack Overflow
- Matlab Answers on Matlab Central – Official MathWorks forum, like a clone of Stack Overflow
- #matlab channel on freenode IRC
- Numeric Café Slack – A public Slack for discussing Matlab and Octave programming
- Matlab Subreddit – Reddit’s Matlab discussion area
MathWorks File Exchange is the classic location for sharing Matlab code. Everything on there is required to be FLOSS licensed. It seems to be mostly used for smaller projects and single scripts, though. The File Exchange Pick of the Week highlights notable submissions.
There’s a Matlab tag on GitHub. It lists over 4,000 repos as of March 2019. Most of them appear to just be student homework, though, so they don’t all represent significant projects.
I prefer projects that are hosted on GitHub to those on File Exchange, because there’s no good way to submit PRs or bug reports on File Exchange.
GitHub user kaxap
maintains a list of popular Matlab repos on GitHub.
Yair Altman posts a bunch of stuff on Undocumented Matlab and his File Exchange.
This list was put together by Andrew Janke.