Awesome MATLAB 
A curated list of awesome MATLAB toolboxes, applications, software
and resources. Inspired by awesome-R.
High quality commercial toolboxes from organisations other than
MathWorks
- Multiprecision Toolbox for
MATLAB - This toolbox equips MATLAB with a new multiple precision
floating-point numeric type and an extensive set of mathematical
functions that are capable of computations with arbitrary
precision.
- MOSEK Optimization Tools - The
MOSEK tools provide
access to the powerful MOSEK optimization solvers from inside the MATLAB
environment either by a classical Toolobx or by the
modern object-oriented API Fusion.
- FEATool Multiphysics
- Finite Element FEM Simulation toolbox for Matlab and Octave featuring
an easy to use GUI, integrated CAD, geometry, grid generation, solvers,
and postprocessing functionality.
Artificial
Intelligence and Machine Learning
Computational Mechanics
- GIBBON - An open-source
(get the source here)
MATLAB toolbox for computational (bio)mechanics, computational geometry,
image segmentation, meshing, lattice structure creation, and finite
element analysis (by linking with the open source package FEBio and the commercial package
ABAQUS).
Cool
Fun projects that make you say ‘Cool!’
Database Management
Toolboxes for managing data
Games
Fully playable games developed in MATLAB.
- 2048
- 2048 is a game originally created by Gabriele Cirulli. This is a
MATLAB implementation of the game.
- Flappy
bird - As one of the most popular games on app stores before being
taken down, Flappy Bird does not need any further introduction. Now, it
has come back alive, on MATLAB.
Geospatial
- TopoToolbox -
TopoToolbox is a MATLAB program for the analysis of digital elevation
models (DEMs). It’s free and open source.
Hardware
- MATLAB
on the NVIDIA GPU Cloud - Running MATLAB on the NVIDIA GPU
Cloud.
- Parallel
Computing Toolbox - Mathworks Toolbox. Provides support for various
parallel programming paradigms to scale MATLAB to 1000s of CPU cores and
GPUs. Also helps make maximum use of your laptop if that’s the only
hardware you have.
Image Processing and
Computer Vision
- Computer
Vision System Toolbox - The official computer vision toolbox from
MathWorks.
- Image Processing
Toolbox - The official Image Processing Toolbox from MathWorks.
- MatConvNet -
MatConvNet is a free MATLAB toolbox implementing Convolutional Neural
Networks (CNNs) for computer vision applications. It is simple,
efficient, and can run and learn state-of-the-art CNNs. It provides
pre-trained CNNs for image classification, segmentation, face
recognition, and text detection.
- Piotr’s Image and Video
Toolbox - This free toolbox facilitates the manipulation of images
and video in MATLAB. Its purpose is to complement, not replace, MATLAB’s
Image Processing Toolbox.
- VLFeat - The VLFeat free and
open source library implements popular computer vision algorithms
specializing in image understanding and local features extraction and
matching. It is written in C for efficiency and compatibility, with
interfaces in MATLAB for ease of use, and detailed documentation
throughout.
- MexOpenCV -
MATLAB MEX interface for OpenCV,
i.e. one of the leading libraries for computer vision.
- Zoning Aggregated
Hypercolumns for Keyword Spotting - An image descriptor, suitable
for keyword spotting, that is computed as a function of Convolutional
Neural Network intermediate layer responses.
Model Reduction
- drtoolbox -
Matlab Toolbox for Dimensionality Reduction.
- DMD Book - Dynamic Mode
Decomposition Book Companion Code.
- emgr - EMpirical GRamian framework
for model reduction of input-output systems.
- hapod - Hierarchical Approximate
Proper Orthogonal Decomposition.
- MOR Toolbox - Model
Reduction Toolbox for MATLAB (formerly: MORE - a MOdel REduction
Toolbox).
- KerMor
- Model order reduction for nonlinear dynamical systems and nonlinear
approximation.
- morgen - Model Order Reduction
for Gas and Energy Networks.
- MORLAB
- Model Order Reduction Laboratory.
- MORPACK
- Model Order Reduction PACKage.
- MESS -
The Matrix Equations Sparse Solvers library, is the successor to the
Lyapack Toolbox.
- MRedTool
- A MATLAB toolbox for model reduction of multi-dimensional
systems.
- Nonlinear
Model Reduction Routines for MATLAB - Empirical balanced truncation
toolbox.
- psssMOR
- A parametric sparse state-space and Model Order Reduction
toolbox.
- RBmatlab -
A MATLAB library for model order reduction with Reduced Basis
Methods.
- redBKIT - A MATLAB
library for reduced-order modeling of parametrized PDEs.
- SiMpLIfy -
Structured ModeL reduction.
- SLICOT -
SLICOT Model and Controller Reduction Toolbox.
- SMORES
- A Matlab tool for Simulation and Model Order Reduction of Electrical
Systems.
- SOMDDPA -
Second-Order Modally-Damped Dominant Pole Algorithm.
- sssMOR - sparse state
space and Model Order Reduction toolbox.
- SUMO - SUrrogate
MOdelling lab.
Interfacing with other
languages
- C/C++
mex routines - C/C++ MEX files allow to call C/C++ functions from
within MATLAB.
- Fortran
mex routines - Fortran MEX routines allow you to call Fortran code
from within MATLAB.
- MATLAB
Engine for Python - The MATLAB Engine for Python provides a Python
package named
matlab that enables you to call MATLAB
functions from within Python.
- matlab kernel
- To run MATLAB code inside IPython / Jupyter notebooks.
- MATLink - To run MATLAB code
inside Mathematica / Wolfram Language notebooks.
- node-matlab - To
run MATLAB code inside NodeJS.
- Python
- How to call Python functions from within MATLAB.
Interfacing with other
programs
- MATLAB
QuickLook - QuickLook preview generator for MAT files. This shows
the contents of your MAT files in Finder. The binary is only compatible
with 64 bit OS X.
- MATLAB-git - A
thin wrapper to call
git from within a MATLAB console.
- JSONlab - Toolbox to
encode/decode JSON data files from
within MATLAB and Octave.
Learning MATLAB
Third-party tools to produce publication quality
figures.
- antijet - An alternative to the
problematic “jet”-colormap.
- export_fig -
produces better vector/bitmap graphics than standalone MATLAB®.
- gramm
- GRAMmar of graphics for Matlab.
- hq-matlab-figs -
Creating high-quality graphics in MATLAB for papers and
presentations.
- matlab2tikz
- exports MATLAB® figures to TikZ code for seamless inclusion in LaTeX
documents.
- matplotlib
colormaps - Perceptually uniform colormaps.
- plot2svg
- exports MATLAB® figures to Scalable Vector Graphics format. This is
particularly useful in older MATLAB® versions that don’t support
print -dsvg.
- Plotly MATLAB Library -
exports MATLAB® figures to the online plotting service plot.ly.
- saveFigure -
exports MATLAB® figures to PDF, SVG, EPS and PNG with improved support
for transparancy.
- wgPlot
- A better version of gplot.
- xkcdify
- xkcd-style plots.
Using MATLAB in other
environments
MATLAB-like environments
- GNU Octave - GNU
Octave is a high-level interpreted language, primarily intended for
numerical computations. It can run many MATLAB programs unmodified.
- Scilab - Scilab is free and
open source software for numerical computation providing a powerful
computing environment for engineering and scientific applications.
- MathScript
- MathScript is an interpreter for MATLAB® code for the LabView programming language.
High quality free toolboxes in subject areas that don’t yet have
their own section
- Chebfun - Chebfun is an
open-source package for computing with functions to about 15-digit
accuracy.
- IFISS -
IFISS is a graphical package for the interactive numerical study of
incompressible flow problems which can be run under MATLAB or
Octave.
- Wavelab
- WaveLab is a collection of MATLAB functions related to wavelet
analysis.
- MPITB - MPI
Toolbox for Matlab (MPI
Toolbox for Octave).
- Lightspeed
- Microsoft Lightspeed Utilities Toolbox.
- bct - Brain
Connectivity Toolbox.
- OpenCL
Toolbox - OpenCL support for MATLAB.
- UQLab - The Framework for
Uncertainty Quantification.
- Octave Forge - Extra
packages for GNU Octave.
- Matrix
Computation Toolbox - For constructing test matrices, computing
matrix factorizations, visualizing matrices, and carrying out direct
search optimization.
- GRANSO -
GRadient-based Algorithm for Non-Smooth Optimization.
- ROSTAPACK
- RObust STAbility PACKage.
Optimization
- Manopt Free toolboxes for
optimization on manifolds and matrices.
Statistics
- FSDA Toolbox - FSDA
(Flexible Statistics and Data Analysis) extends MATLAB and the
Statistics Toolbox for the robust analysis of data sets affected by
different sources of heterogeneity.
Resources
Where to discover new MATLAB resources.
Websites
Blogs
Books
Reference Cards
MOOCs
Massive open online courses.
Tips and Tricks
Contributing
Your contributions are always welcome. Refer to the contribution
guidelines if you’d like to make a Pull Request.
This work is licensed under the Creative Commons
Attribution-NonCommercial-ShareAlike 4.0 International License - CC
BY-NC-SA 4.0