A curated list of awesome MATLAB toolboxes, applications, software and resources. Inspired by awesome-R.
High quality commercial toolboxes from organisations other than The 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.
- NAG Toolbox for MATLAB - Over 1700 functions across numerous areas of numerical mathematics. Developed by The Numerical Algorithms Group (NAG).
- 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 .
Fun projects that make you say 'Cool!'
- Engima - MATLAB version of the Enigma machine
Toolboxes for managing data
- Database toolbox - Official database toolbox from The MathWorks
- go-redis - Free Redis Mex client for MATLAB
- mex-sqlite3 - Free Sqlite3 Mex client for MATLAB
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.
## Hardware
- MATLAB Mobile - MATLAB on Android and iOS mobile phones and tablets.
- Octave - Octave on Android.
- Raspberry Pi Support from MATLAB - Acquire sensor and image data from your connected Raspberry Pi.
- Computer Vision System Toolbox - The official computer vision toolbox from The MathWorks.
- Image Processing Toolbox - The official Image Processing Toolbox from The 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.
- SLICOT - SLICOT Model and Controller Reduction Toolbox
- emgr - Empirical gramian framework for model reduction and system identification.
- MORE - a MOdel REduction Toolbox
- drtoolbox - Matlab Toolbox for Dimensionality Reduction
- SiMpLIfy - Structured ModeL reductIon
- MORLAB - Model Order Reduction Laboratory
- SMORES - A Matlab tool for Simulation and Model Order Reduction of Electrical Systems
- sssMOR - Sparse State-Space and Model Order Reduction Toolbox
- MORPACK - Model Order Reduction PACKage
- RBmatlab - is a MATLAB library for model order reduction with Reduced Basis Methods for various discretization types and application settings.
- MESS - The Matrix Equations Sparse Solvers library, is the successor to the Lyapack Toolbox.
- KerMor - Model order reduction for nonlinear dynamical systems and nonlinear approximation.
- 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. - Python - How to call Python functions from within MATLAB.
- matlab kernel - To run MATLAB code inside IPython / Jupyter notebooks.
- octave kernel - To run Octave code inside IPython / Jupyter notebooks.
- 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.
- Software Carpentry lessons in MATLAB - Teaching basic lab skills for research computing.
- YAGTOM: Yet Another Guide TO MATLAB - This MATLAB® tutorial starts from the basics and builds up to advanced concepts such as object-oriented programming (Note the Speedup Tricks).
- MATLAB Academy - MATLAB Onramp - Brief MATLAB introduction including language syntax and common workflows. Complimentary access with MATLAB license.
- Control Tutorials for MATLAB and Simulink - This site contains quite a bit control theory, some practical applications and how to implement these in MATLAB and SimuLink.
- Rosetta Code (MATLAB category) - Rosetta Code is a community comparing algorithms in different languages.
Third-party tools to produce publication quality figures.
- export_fig - produces better vector/bitmap graphics than standalone MATLAB®.
- matlab2tikz - exports MATLAB® figures to TikZ code for seamless inclusion in LaTeX documents.
- 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.
- hq-matlab-figs - Creating high-quality graphics in MATLAB for papers and presentations.
- antijet - An alternative to the problematic "jet"-colormap.
- xkcdify - xkcd-style plots.
- 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.
- FreeMat - FreeMat is an open source MATLAB interpreter for a subset of the MATLAB language.
- 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.
Where to discover new MATLAB resources.
- MATLAB File Exchange - File Exchange lets you find and share custom applications, classes, code examples, drivers, functions, Simulink models, scripts, and videos.
- Cody - A website with programming challenges that consist of writing MATLAB® code. A fun way to improve your skills.
- ThingSpeak - An internet of things (IoT) platform that allows to collect, analyze and act upon various data sources. You can enter your own MATLAB® code to process and plot your data.
- Octave-Online - An online Octave interpreter.
- Matlab FAQ
- MATLAB category - on DMOZ
- Cleve's Corner: Cleve Moler on Mathematics and Computing - Cleve Moler is the author of the first MATLAB, one of the founders of The MathWorks, and is currently Chief Mathematician at the company.
- Developer Zone - Developing, testing, and integrating production grade software using MATLAB.
- Guy and Seth on Simulink - Guy Rouleau and Seth Popinchalk are Application Engineers for The MathWorks.
- Loren on the art of MATLAB - Loren Shure works on design of the MATLAB language at The MathWorks.
- Steve on Image Processing - Steve Eddins has developed MATLAB and image processing capabilities for The MathWorks since 1993.
- Undocumented MATLAB - Yair Altman blogs about the hidden underbelly of MATLAB®. This is the place to be for discovering new and awesome features.
- WalkingRandomly - The MATLAB tag of WalkingRandomly.
- xcorr: comp neuro - MATLAB relevant post of XCORR.
- Matlab Tips - Learning Matlab for new and advanced users.
- Matlab Tricks - Growing Collection of Matlab tips.
- Matlab Geeks - Matlab Blog, Tutorials and Expertise.
- Matlab Cookbook - Set of various tutorials.
- Accelerating MATLAB Performance: 1001 tips to speed up MATLAB programs - A superb guide to making MATLAB code faster.
- Undocumented Secrets of MATLAB-Java Programming - A great guide on MATLAB® and its Java interface (e.g. for GUIs or interaction with JVM software).
- The Elements of MATLAB Style - Coding guidelines for the MATLAB language.
- MATLAB for Dummies - A good beginners books.
- MATLAB Quick Reference - by Eric Peasley, Department of Engineering Science, University of Oxford
- MATLAB Quick Reference App
- MATLAB Reddit
- Octave Reddit
- MATLAB on Facebook - Official Facebook page for MATLAB
- MATLAB on Stack Overflow - Stack Overflow is a community of 4.7 million programmers, just like you, helping each other.
- Octave on Stack Overflow - and Stack Overflow has an extensive back catalogue of many answered questions.
- MATLAB on Twitter - Official MATLAB twitter account
- Matlab Tricks Club - A Community Page about MATLAB
Massive open online courses.
- Introduction to Programming with MATLAB - Vanderbilt University MOOC that teaches basic programming concepts using MATLAB. You get a free time-limited license to use MATLAB with this course.
- Linear Algebra: Foundations to Frontiers - Hands-on introduction to Linear Algebra using MATLAB.
- Guidelines for writing clean and fast code in MATLAB - A guide with best practices in MATLAB® programming to which anybody can contribute.
- Writing Fast MATLAB Code
- MATLAB Array Manipulation Tips and Tricks
- MATLAB Vectorization Tricks
- Matlab / Octave Efficiency Notes
- Matlab Tips and Tricks
- MATLAB Style Guide 1
- MATLAB Style Guide 2
- Octave and MATLAB Snippets - Collection of code snippets
- knkutils - MATLAB utility functions written by Kendrick Kay
- Alex's MATLAB Library
- Advanced Numerical Linear Algebra - MATLAB Code
- Lanczos Algorithm for SVD - MATLAB Code
- Jie Chen's Software - Collection of companion codes (mostly MATLAB).
- SSP RK - Strong Stability Preserving Runge-Kutta Codes.
- BV78 - Shampine's Adaptive Block Vectorized Runge-Kutta 7-8.
Your contributions are always welcome!
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License - CC BY-NC-SA 4.0