An open API service indexing awesome lists of open source software.

awesome-MATLAB

A curated list of awesome MATLAB toolboxes, applications, software and resources.
https://github.com/mikecroucher/awesome-MATLAB

Last synced: about 17 hours ago
JSON representation

  • Learning MATLAB

  • Artificial Intelligence and Machine Learning

    • Deep Learning Toolbox - MATLAB's official deep learning toolbox from MathWorks
    • MATLAB GPT - Discover MATLAB with the official MATLAB GPT by MathWorks.
    • MATLAB Deep Learning Model Hub - Discover the latest pretrained models for deep learning in MATLAB.
    • AI Verification: Constrained Deep Learning - Constrained deep learning is an advanced approach to training deep neural networks by incorporating domain-specific constraints into the learning process. [![Open in MATLAB
    • Large Language Models (LLMs) with MATLAB - in-matlab-online.svg)](https://matlab.mathworks.com/open/github/v1?repo=matlab-deep-learning/llms-with-matlab) [![View Large Language Models (LLMs) with MATLAB on File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://www.mathworks.com/matlabcentral/fileexchange/163796-large-language-models-llms-with-matlab)
    • AI Chat Playground - Free service from MathWorks. Chat with an AI about MATLAB and run code in the browser.
    • Deep Learning Verification - Deep learning verification is a set of techniques for assessing the properties of deep neural networks. A free support package from MathWorks.
    • Reinforcement Learning Toolbox - MATLAB's official toolbox for Reinforcement Learning from MathWorks.
    • SciML-and-Physics-Informed-Machine-Learning-Examples - This repository collates a number of examples demonstrating Scientific Machine Learning (SciML) and Physics Informed Machine Learning. [![Open in MATLAB Online](https://www.mathworks.com/images/responsive/global/open-in-matlab-online.svg)](https://matlab.mathworks.com/open/github/v1?repo=matlab-deep-learning/SciML-and-Physics-Informed-Machine-Learning-Examples)
    • Statistics and Machine Learning Toolbox - MATLAB's official traditional (i.e. not neural networks) machine learning toolbox from MathWorks
  • 3rd Party Commercial Toolboxes

    • 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](https://mosek.com/resources/downloads) provide access to the powerful MOSEK optimization solvers from inside the MATLAB environment either by a classical [Toolobx](http://docs.mosek.com/7.1/tools/index.html) or by the modern object-oriented API [Fusion](http://docs.mosek.com/7.1/matlabfusion/index.html).
    • 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.
    • FEM Operations Toolbox - From ANDATA. The FEM Operations Toolbox provides functions for the evaluation and analysis of the results of numerical simulations created with the finite element method (FEM).
    • 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](https://mosek.com/resources/downloads) provide access to the powerful MOSEK optimization solvers from inside the MATLAB environment either by a classical [Toolobx](http://docs.mosek.com/7.1/tools/index.html) or by the modern object-oriented API [Fusion](http://docs.mosek.com/7.1/matlabfusion/index.html).
    • 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.
  • Computational Mechanics

    • GIBBON - An open-source ([get the source here](https://github.com/gibbonCode/GIBBON)) 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](https://febio.org/) and the commercial package ABAQUS).
  • Cool

  • Database Management

  • Games

    • 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.
    • 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.
    • m_map - A mapping package for Matlab.
    • Mapping Toolbox - The official Mapping Toolbox from MathWorks.
    • m_map - A mapping package for Matlab.
  • Hardware

  • High Performance Computing in MATLAB

  • Parallel Computing in MATLAB

    • 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.
    • 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.
    • Image Processing Toolbox - The official Image Processing Toolbox from MathWorks.
    • 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.
    • Computer Vision System Toolbox - The official computer vision toolbox from MathWorks.
    • Image Processing Toolbox - The official Image Processing Toolbox from MathWorks.
    • MexOpenCV - MATLAB MEX interface for [OpenCV](http://opencv.org), i.e. one of the leading libraries for computer vision.
  • 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.
    • MOR Toolbox - Model Reduction Toolbox for MATLAB (formerly: [MORE](http://w3.onera.fr/more/) - a MOdel REduction Toolbox).
    • KerMor - Model order reduction for nonlinear dynamical systems and nonlinear approximation.
    • 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.
    • psssMOR - A parametric sparse state-space and Model Order Reduction toolbox.
    • RBmatlab - A MATLAB library for model order reduction with Reduced Basis Methods.
    • 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.
    • SUMO - SUrrogate MOdelling lab.
    • Nonlinear Model Reduction Routines for MATLAB - Empirical balanced truncation toolbox.
    • 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.
    • 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.
    • Nonlinear Model Reduction Routines for MATLAB - Empirical balanced truncation toolbox.
    • 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.
  • 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.
    • MATLink - To run MATLAB code inside Mathematica / Wolfram Language notebooks.
    • Python - How to call Python functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • C/C++ mex routines - C/C++ MEX files allow to call C/C++ functions from within MATLAB.
    • node-matlab - To run MATLAB code inside NodeJS.
    • 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.
    • MATLink - To run MATLAB code inside Mathematica / Wolfram Language notebooks.
    • Python - How to call Python functions from within MATLAB.
    • Rcall - The Rcall interface runs in MATLAB and provides direct access to methods and software packages implemented in R.
  • Making Figures

    • antijet - An alternative to the problematic "jet"-colormap.
    • gramm - GRAMmar of graphics for Matlab.
    • 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`.
    • wgPlot - A better version of gplot.
    • xkcdify - xkcd-style plots.
    • matlab2tikz - exports MATLAB® figures to TikZ code for seamless inclusion in LaTeX documents.
    • export_fig - produces better vector/bitmap graphics than standalone MATLAB®.
    • antijet - An alternative to the problematic "jet"-colormap.
    • gramm - GRAMmar of graphics for Matlab.
    • hq-matlab-figs - Creating high-quality graphics in MATLAB for papers and presentations.
    • 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`.
    • saveFigure - exports MATLAB® figures to PDF, SVG, EPS and PNG with improved support for transparancy.
    • wgPlot - A better version of gplot.
  • Using MATLAB in other environments

  • MATLAB-like environments

    • 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](http://www.ni.com/labview/) programming language.
    • 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](http://www.ni.com/labview/) programming language.
  • Miscellaneous Free Toolboxes

    • 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](http://www.ugr.es/~jfernand/mpitb.html)).
    • 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.
    • Wavelab - WaveLab is a collection of MATLAB functions related to wavelet analysis.
    • IFISS - IFISS is a graphical package for the interactive numerical study of incompressible flow problems which can be run under MATLAB or Octave.
    • Lightspeed - Microsoft Lightspeed Utilities Toolbox.
    • UQLab - The Framework for Uncertainty Quantification.
    • Octave Forge - Extra packages for GNU Octave.
    • GRANSO - GRadient-based Algorithm for Non-Smooth Optimization.
    • ROSTAPACK - RObust STAbility PACKage.
    • MOCluGen - Multidimensional cluster generation in MATLAB/Octave.
  • Optimization

  • 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.
    • 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.
    • Statistics and Machine Learning Toolbox - Statistics and Machine Learning Toolbox from MathWorks.
  • Websites

  • Blogs

  • Books

  • Reference Cards

  • Social Media

  • MOOCs

  • Tips and Tricks

  • 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](http://www.json.org) data files from within MATLAB and Octave.
  • GPU Computing in MATLAB

  • Quantum Computing

    • MATLAB Support Package for Quantum Computing - MATLAB Support Package for Quantum Computing lets you build, simulate, and run quantum algorithms. You can use your own PC or real quantum hardware via the cloud.
    • QCLAB MATLAB Toolbox - QCLAB is an object-oriented MATLAB toolbox for creating, representing and simulating quantum circuits.
    • Strangeworks SDK - This allows users to submit jobs from MATLAB to a range of Quantum Hardware via the Strangeworks platform.
  • Courseware

    • Computer Vision Basics - This curriculum module contains interactive MATLAB live scripts centered on the fundamentals of image segmentation.
    • Convolution in Digital Signal Processing - This curriculum module contains interactive MATLAB live scripts and supporting data files centered around the fundamentals of convolution in digital signal processing.