• Stars
    star
    355
  • Rank 119,764 (Top 3 %)
  • Language
  • License
    Other
  • Created almost 9 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A curated list of awesome MATLAB toolboxes, applications, software and resources.

Awesome MATLAB Awesome

A curated list of awesome MATLAB toolboxes, applications, software and resources. Inspired by awesome-R.

3rd Party Commercial Toolboxes

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

High Performance Computing in MATLAB

  • 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

Making Figures

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.

Miscellaneous Free Toolboxes

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

Social Media

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

More Repositories

1

nearest_correlation

Python versions of nearest correlation matrix algorithms
Python
36
star
2

MLPM_talk

16
star
3

HPC_schedulers

Which schedulers are the most popular on current HPC systems?
14
star
4

Git_Academic_Benefits

Academic Benefits of Using Version Control
13
star
5

ISBE_Symposium

Introduction to version control with RStudio
10
star
6

Jupyter-Matrix-Matrix

A benchmark to see how many flops your kit can do
Jupyter Notebook
10
star
7

R_awareness

R
9
star
8

Social_Wordcloud

Scripts that make wordclouds from social media feeds
R
9
star
9

Jupyter_examples

A set of scientific examples using Jupyter notebook
Jupyter Notebook
7
star
10

Jupyter-for-Physics

A talk about Jupter and Sage Math Cloud for Sheffield Physics department
Jupyter Notebook
6
star
11

reproducible_ML

JavaScript
4
star
12

GSL_example

Example of how to compile GNU Scientific Library code
C++
3
star
13

jupyter-interactions

A repository of jupyter interactions
Jupyter Notebook
3
star
14

Intro_to_HPC

Introduction to High Performance Computing (Spark + Scala Edition)
JavaScript
3
star
15

WalkingRandomly

A repository for example code discussed on WalkingRandomly.com
MATLAB
2
star
16

Windows_Scientific_Computing

A windows-based set of tutorials for scientific computing
PowerShell
2
star
17

Valentine

2
star
18

RSE_2017_keynote_presentation

1
star
19

jupyterhub_on_azure

Running on a Ubuntu Linux VM
Shell
1
star
20

Meltdown_HPC

Collaborative blog post about the effect of meltdown on HPC systems
1
star
21

roof_garden

1
star
22

NAG_IYRSC

1
star
23

christmas_card_code

A set of code projects that generate electronic christmas cards
MATLAB
1
star
24

alces_flight_customisation

Shell
1
star
25

CloudCluster

User instructions for using the training CloudCluster
C
1
star
26

northumbria_rse

A talk on the RSE movement for Northumbria University
JavaScript
1
star
27

Python_teaching

Resources I use for teaching Python
1
star
28

researchsoftware

JavaScript
1
star
29

scala-spark-HelloWorld

Hello word in scala+spark on Sheffield's HPC cluster
Scala
1
star
30

MultiLangMonteCarlo

A simple monte carlo integration done several ways
1
star
31

HPC_for_everyone

More people need HPC than ever. So why do so few care about it?
JavaScript
1
star