727 lines
36 KiB
HTML
727 lines
36 KiB
HTML
<h1 id="awesome-matlab-awesome">Awesome MATLAB <a
|
||
href="https://github.com/sindresorhus/awesome"><img
|
||
src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"
|
||
alt="Awesome" /></a></h1>
|
||
<p>A curated list of awesome MATLAB toolboxes, applications, software
|
||
and resources. Inspired by <a
|
||
href="https://github.com/qinwf/awesome-R">awesome-R</a>.</p>
|
||
<ul>
|
||
<li><a href="#awesome-matlab--">Awesome MATLAB</a>
|
||
<ul>
|
||
<li><a href="#3rd-party-commercial-toolboxes">3rd Party Commercial
|
||
Toolboxes</a></li>
|
||
<li><a href="#artificial-intelligence-and-machine-learning">Artificial
|
||
Intelligence and Machine Learning</a></li>
|
||
<li><a href="#computational-mechanics">Computational Mechanics</a></li>
|
||
<li><a href="#cool">Cool</a></li>
|
||
<li><a href="#database-management">Database Management</a></li>
|
||
<li><a href="#games">Games</a></li>
|
||
<li><a href="#geospatial">Geospatial</a></li>
|
||
<li><a href="#GPU-Computing-in-MATLAB">GPU Computing in MATLAB</a></li>
|
||
<li><a href="#hardware">Hardware</a></li>
|
||
<li><a href="#high-performance-computing-in-matlab">High Performance
|
||
Computing in MATLAB</a></li>
|
||
<li><a href="#image-processing-and-computer-vision">Image Processing and
|
||
Computer Vision</a></li>
|
||
<li><a href="#interfacing-with-other-languages">Interfacing with other
|
||
languages</a></li>
|
||
<li><a href="#interfacing-with-other-programs">Interfacing with other
|
||
programs</a></li>
|
||
<li><a href="#learning-matlab">Learning MATLAB</a></li>
|
||
<li><a href="#making-figures">Making Figures</a></li>
|
||
<li><a href="#miscellaneous-free-toolboxes">Miscellaneous Free
|
||
Toolboxes</a></li>
|
||
<li><a href="#matlab-like-environments">MATLAB-like
|
||
environments</a></li>
|
||
<li><a href="#model-reduction">Model Reduction</a></li>
|
||
<li><a href="#optimization">Optimization</a></li>
|
||
<li><a href="#Parallel-Computing-in-MATLAB">Parallel Computing in
|
||
MATLAB</a></li>
|
||
<li><a href="#Quantum-Computing">Quantum Computing</a></li>
|
||
<li><a href="#statistics">Statistics</a></li>
|
||
<li><a href="#using-matlab-in-other-environments">Using MATLAB in other
|
||
environments</a></li>
|
||
</ul></li>
|
||
<li><a href="#resources">Resources</a>
|
||
<ul>
|
||
<li><a href="#websites">Websites</a></li>
|
||
<li><a href="#blogs">Blogs</a></li>
|
||
<li><a href="#books">Books</a></li>
|
||
<li><a href="#courseware">Courseware</a></li>
|
||
<li><a href="#reference-cards">Reference Cards</a></li>
|
||
<li><a href="#social-media">Social Media</a></li>
|
||
<li><a href="#moocs">MOOCs</a></li>
|
||
<li><a href="#tips-and-tricks">Tips and Tricks</a></li>
|
||
</ul></li>
|
||
<li><a href="#contributing">Contributing</a></li>
|
||
</ul>
|
||
<h2 id="rd-party-commercial-toolboxes">3rd Party Commercial
|
||
Toolboxes</h2>
|
||
<p><em>High quality commercial toolboxes from organisations other than
|
||
MathWorks</em></p>
|
||
<ul>
|
||
<li><a href="https://www.andata.at/en/fem-operations-toolbox.html">FEM
|
||
Operations Toolbox</a> - 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).</li>
|
||
<li><a href="http://www.advanpix.com/">Multiprecision Toolbox for
|
||
MATLAB</a> - 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.</li>
|
||
<li><a href="https://www.mosek.com">MOSEK Optimization Tools</a> - The
|
||
<a href="https://mosek.com/resources/downloads">MOSEK tools</a> provide
|
||
access to the powerful MOSEK optimization solvers from inside the MATLAB
|
||
environment either by a classical <a
|
||
href="http://docs.mosek.com/7.1/tools/index.html">Toolobx</a> or by the
|
||
modern object-oriented API <a
|
||
href="http://docs.mosek.com/7.1/matlabfusion/index.html">Fusion</a>.</li>
|
||
<li><a href="http://www.precisesimulation.com">FEATool Multiphysics</a>
|
||
- Finite Element FEM Simulation toolbox for Matlab and Octave featuring
|
||
an easy to use GUI, integrated CAD, geometry, grid generation, solvers,
|
||
and postprocessing functionality.</li>
|
||
</ul>
|
||
<h2 id="artificial-intelligence-and-machine-learning">Artificial
|
||
Intelligence and Machine Learning</h2>
|
||
<ul>
|
||
<li><a href="https://uk.mathworks.com/matlabcentral/playground/new">AI
|
||
Chat Playground</a> - Free service from MathWorks. Chat with an AI about
|
||
MATLAB and run code in the browser.</li>
|
||
<li><a
|
||
href="https://github.com/matlab-deep-learning/constrained-deep-learning">AI
|
||
Verification: Constrained Deep Learning</a> - Constrained deep learning
|
||
is an advanced approach to training deep neural networks by
|
||
incorporating domain-specific constraints into the learning process. <a
|
||
href="https://matlab.mathworks.com/open/github/v1?repo=matlab-deep-learning/constrained-deep-learning"><img
|
||
src="https://www.mathworks.com/images/responsive/global/open-in-matlab-online.svg"
|
||
alt="Open in MATLAB Online" /></a></li>
|
||
<li><a href="https://www.mathworks.com/products/deep-learning.html">Deep
|
||
Learning Toolbox</a> - MATLAB’s official deep learning toolbox from
|
||
MathWorks</li>
|
||
<li><a
|
||
href="https://uk.mathworks.com/help/deeplearning/deep-learning-verification-for-images.html">Deep
|
||
Learning Verification</a> - Deep learning verification is a set of
|
||
techniques for assessing the properties of deep neural networks. A free
|
||
support package from MathWorks.</li>
|
||
<li><a
|
||
href="https://github.com/matlab-deep-learning/llms-with-matlab">Large
|
||
Language Models (LLMs) with MATLAB</a> Large Language Models (LLMs) with
|
||
MATLAB lets you connect to large language model APIs using MATLAB®. <a
|
||
href="https://matlab.mathworks.com/open/github/v1?repo=matlab-deep-learning/llms-with-matlab"><img
|
||
src="https://www.mathworks.com/images/responsive/global/open-in-matlab-online.svg"
|
||
alt="Open in MATLAB Online" /></a> <a
|
||
href="https://www.mathworks.com/matlabcentral/fileexchange/163796-large-language-models-llms-with-matlab"><img
|
||
src="https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg"
|
||
alt="View Large Language Models (LLMs) with MATLAB on File Exchange" /></a></li>
|
||
<li><a
|
||
href="https://github.com/matlab-deep-learning/MATLAB-Deep-Learning-Model-Hub">MATLAB
|
||
Deep Learning Model Hub</a> - Discover the latest pretrained models for
|
||
deep learning in MATLAB.</li>
|
||
<li><a href="https://chatgpt.com/g/g-QFTjbeK3U-matlab">MATLAB GPT</a> -
|
||
Discover MATLAB with the official MATLAB GPT by MathWorks.</li>
|
||
<li><a
|
||
href="https://uk.mathworks.com/products/reinforcement-learning.html">Reinforcement
|
||
Learning Toolbox</a> - MATLAB’s official toolbox for Reinforcement
|
||
Learning from MathWorks.</li>
|
||
<li><a
|
||
href="https://github.com/matlab-deep-learning/SciML-and-Physics-Informed-Machine-Learning-Examples">SciML-and-Physics-Informed-Machine-Learning-Examples</a>
|
||
- This repository collates a number of examples demonstrating Scientific
|
||
Machine Learning (SciML) and Physics Informed Machine Learning. <a
|
||
href="https://matlab.mathworks.com/open/github/v1?repo=matlab-deep-learning/SciML-and-Physics-Informed-Machine-Learning-Examples"><img
|
||
src="https://www.mathworks.com/images/responsive/global/open-in-matlab-online.svg"
|
||
alt="Open in MATLAB Online" /></a></li>
|
||
<li><a
|
||
href="https://uk.mathworks.com/products/statistics.html">Statistics and
|
||
Machine Learning Toolbox</a> - MATLAB’s official traditional (i.e. not
|
||
neural networks) machine learning toolbox from MathWorks</li>
|
||
</ul>
|
||
<h2 id="computational-mechanics">Computational Mechanics</h2>
|
||
<ul>
|
||
<li><a href="https://www.gibboncode.org/">GIBBON</a> - An open-source
|
||
(<a href="https://github.com/gibbonCode/GIBBON">get the source here</a>)
|
||
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 <a
|
||
href="https://febio.org/">FEBio</a> and the commercial package
|
||
ABAQUS).</li>
|
||
</ul>
|
||
<h2 id="cool">Cool</h2>
|
||
<p><em>Fun projects that make you say ‘Cool!’</em></p>
|
||
<ul>
|
||
<li><a
|
||
href="http://blogs.mathworks.com/pick/2015/10/30/enigma/">Engima</a> -
|
||
MATLAB version of the Enigma machine.</li>
|
||
<li><a
|
||
href="https://www.mathworks.com/matlabcentral/fileexchange/103830-invisibility-cloak-using-matlab-and-simulink">Invisibility
|
||
Cloak Using MATLAB and Simulink</a> - This submission contains the
|
||
implementation of an Invisibility Cloak using image thresholding and
|
||
segmentation.</li>
|
||
</ul>
|
||
<h2 id="database-management">Database Management</h2>
|
||
<p><em>Toolboxes for managing data</em></p>
|
||
<ul>
|
||
<li><a href="http://uk.mathworks.com/products/database/">Database
|
||
toolbox</a> - Official database toolbox from The MathWorks.</li>
|
||
<li><a href="https://github.com/markuman/go-redis/">go-redis</a> - Free
|
||
Redis Mex client for MATLAB.</li>
|
||
<li><a href="https://github.com/rmartinjak/mex-sqlite3">mex-sqlite3</a>
|
||
- Free Sqlite3 Mex client for MATLAB.</li>
|
||
<li><a href="https://github.com/mathworks/dotenv-for-MATLAB">dotenv for
|
||
MATLAB</a> - Manage database configuration environment variables.</li>
|
||
</ul>
|
||
<h2 id="games">Games</h2>
|
||
<p><em>Fully playable games developed in MATLAB.</em></p>
|
||
<ul>
|
||
<li><a
|
||
href="http://uk.mathworks.com/matlabcentral/fileexchange/46124-2048-matlab-edition">2048</a>
|
||
- 2048 is a game originally created by Gabriele Cirulli. This is a
|
||
MATLAB implementation of the game.</li>
|
||
<li><a
|
||
href="http://uk.mathworks.com/matlabcentral/fileexchange/45795-flappy-bird-for-matlab">Flappy
|
||
bird</a> - 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.</li>
|
||
</ul>
|
||
<h2 id="geospatial">Geospatial</h2>
|
||
<ul>
|
||
<li><a href="https://uk.mathworks.com/help/map/index.html">Mapping
|
||
Toolbox</a> - The official Mapping Toolbox from MathWorks.</li>
|
||
<li><a href="https://topotoolbox.wordpress.com/">TopoToolbox</a> -
|
||
TopoToolbox is a MATLAB program for the analysis of digital elevation
|
||
models (DEMs). It’s free and open source.</li>
|
||
<li><a href="https://www.eoas.ubc.ca/~rich/map.html">m_map</a> - A
|
||
mapping package for Matlab.</li>
|
||
</ul>
|
||
<h2 id="gpu-computing-in-matlab">GPU Computing in MATLAB</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://uk.mathworks.com/help/deeplearning/ug/deep-learning-with-matlab-on-multiple-gpus.html">Deep
|
||
Learning with MATLAB on Multiple GPUs</a> - MATLAB supports training a
|
||
single deep neural network using multiple GPUs in parallel.</li>
|
||
<li><a href="https://blogs.mathworks.com/matlab/category/gpu/">GPU
|
||
Section of the MATLAB Blog</a> - Mike Croucher from MathWorks writes
|
||
about GPU Programming in MATLAB</li>
|
||
<li><a
|
||
href="https://uk.mathworks.com/help/parallel-computing/gpu-computing.html">GPU
|
||
Computing using Parallel Computing Toolbox</a> - The relevant section of
|
||
the documentation for getting started with GPU computing using NVIDIA
|
||
GPUs in MATLAB.</li>
|
||
<li><a
|
||
href="https://uk.mathworks.com/help/gpucoder/getting-started-with-gpu-coder.html">GPU
|
||
Coder</a> - Generates CUDA code from MATLAB code.</li>
|
||
<li><a
|
||
href="https://ngc.nvidia.com/catalog/containers/partners:matlab">MATLAB
|
||
on the NVIDIA GPU Cloud</a> - Running MATLAB on the NVIDIA GPU
|
||
Cloud.</li>
|
||
<li><a
|
||
href="https://uk.mathworks.com/hardware-support/nvidia-jetson.html">NVIDIA
|
||
Jetson Support from MATLAB Coder</a> - MATLAB Coder support package for
|
||
NVIDIA® Jetson™ and NVIDIA DRIVE™ platforms automates the deployment of
|
||
MATLAB algorithm or Simulink design on embedded NVIDIA GPUs such as the
|
||
Jetson platform.</li>
|
||
</ul>
|
||
<h2 id="hardware">Hardware</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://www.mathworks.com/matlabcentral/fileexchange/47522-matlab-support-package-for-arduino-hardware">Arduino
|
||
Support package</a> - MATLAB Support Package for Arduino Hardware</li>
|
||
<li><a
|
||
href="https://de.mathworks.com/matlabcentral/fileexchange/33155-cpu-info">CPU
|
||
Info</a> - Read various bits of information about the CPU and operating
|
||
system.</li>
|
||
<li><a href="http://uk.mathworks.com/products/matlab-mobile/">MATLAB
|
||
Mobile</a> - MATLAB on Android and iOS mobile phones and tablets.</li>
|
||
<li><a
|
||
href="http://uk.mathworks.com/hardware-support/raspberry-pi-matlab.html">Raspberry
|
||
Pi Support from MATLAB</a> - Acquire sensor and image data from your
|
||
connected Raspberry Pi.</li>
|
||
<li><a href="http://github.com/octave-de/octave-rpi-gpio">Rasperry Pi IO
|
||
Support for Octave</a> - Control Rasperry Pi GPIO Port from Octave.</li>
|
||
</ul>
|
||
<h2 id="image-processing-and-computer-vision">Image Processing and
|
||
Computer Vision</h2>
|
||
<ul>
|
||
<li><a href="http://uk.mathworks.com/products/computer-vision/">Computer
|
||
Vision System Toolbox</a> - The official computer vision toolbox from
|
||
MathWorks.</li>
|
||
<li><a href="http://uk.mathworks.com/products/image/">Image Processing
|
||
Toolbox</a> - The official Image Processing Toolbox from MathWorks.</li>
|
||
<li><a href="http://www.vlfeat.org/matconvnet/">MatConvNet</a> -
|
||
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.</li>
|
||
<li><a href="http://www.vlfeat.org/">VLFeat</a> - 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.</li>
|
||
<li><a href="https://github.com/kyamagu/mexopencv">MexOpenCV</a> -
|
||
MATLAB MEX interface for <a href="http://opencv.org">OpenCV</a>,
|
||
i.e. one of the leading libraries for computer vision.</li>
|
||
<li><a href="https://github.com/sfikas/zah">Zoning Aggregated
|
||
Hypercolumns for Keyword Spotting</a> - An image descriptor, suitable
|
||
for keyword spotting, that is computed as a function of Convolutional
|
||
Neural Network intermediate layer responses.</li>
|
||
</ul>
|
||
<h2 id="interfacing-with-other-languages">Interfacing with other
|
||
languages</h2>
|
||
<ul>
|
||
<li><a
|
||
href="http://uk.mathworks.com/help/matlab/write-cc-mex-files.html">C/C++
|
||
mex routines</a> - C/C++ MEX files allow to call C/C++ functions from
|
||
within MATLAB.</li>
|
||
<li><a
|
||
href="http://uk.mathworks.com/help/matlab/write-fortran-mex-files.html">Fortran
|
||
mex routines</a> - Fortran MEX routines allow you to call Fortran code
|
||
from within MATLAB.</li>
|
||
<li><a
|
||
href="http://uk.mathworks.com/help/matlab/matlab_external/get-started-with-matlab-engine-for-python.html">MATLAB
|
||
Engine for Python</a> - The MATLAB Engine for Python provides a Python
|
||
package named <code>matlab</code> that enables you to call MATLAB
|
||
functions from within Python.</li>
|
||
<li><a href="http://matlink.org/">MATLink</a> - To run MATLAB code
|
||
inside Mathematica / Wolfram Language notebooks.</li>
|
||
<li><a href="https://github.com/zeybek/node-matlab">node-matlab</a> - To
|
||
run MATLAB code inside NodeJS.</li>
|
||
<li><a
|
||
href="http://uk.mathworks.com/help/matlab/call-python-libraries.html">Python</a>
|
||
- How to call Python functions from within MATLAB.</li>
|
||
<li><a href="https://github.com/kreutz-lab/Rcall">Rcall</a> - The Rcall
|
||
interface runs in MATLAB and provides direct access to methods and
|
||
software packages implemented in R.</li>
|
||
</ul>
|
||
<h2 id="interfacing-with-other-programs">Interfacing with other
|
||
programs</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/jaketmp/matlab-quicklook">MATLAB
|
||
QuickLook</a> - 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.</li>
|
||
<li><a href="https://github.com/manur/MATLAB-git">MATLAB-git</a> - A
|
||
thin wrapper to call <code>git</code> from within a MATLAB console.</li>
|
||
<li><a href="https://github.com/fangq/jsonlab">JSONlab</a> - Toolbox to
|
||
encode/decode <a href="http://www.json.org">JSON</a> data files from
|
||
within MATLAB and Octave.</li>
|
||
</ul>
|
||
<h2 id="learning-matlab">Learning MATLAB</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://matlabacademy.mathworks.com/details/matlab-onramp/gettingstarted">MATLAB
|
||
Onramp</a> - Start here if you’ve never used MATLAB before. 2 hour
|
||
interactive intro from MathWorks. Free for all.</li>
|
||
<li><a
|
||
href="https://www.coursera.org/learn/matlab-programming-with-chatgpt">AI-assisted
|
||
MATLAB Programming with ChatGPT</a> - A Coursera course showing how to
|
||
use ChatGPT to help you program in MATLAB</li>
|
||
<li><a
|
||
href="http://swcarpentry.github.io/matlab-novice-inflammation/">Software
|
||
Carpentry lessons in MATLAB</a> - Teaching basic lab skills for research
|
||
computing.</li>
|
||
<li><a
|
||
href="http://ctms.engin.umich.edu/CTMS/index.php?aux=Home">Control
|
||
Tutorials for MATLAB and Simulink</a> - This site contains quite a bit
|
||
control theory, some practical applications and how to implement these
|
||
in MATLAB and SimuLink.</li>
|
||
<li><a href="http://rosettacode.org/wiki/Category:MATLAB">Rosetta Code
|
||
(MATLAB category)</a> - Rosetta Code is a community comparing algorithms
|
||
in different languages.</li>
|
||
</ul>
|
||
<h2 id="matlab-like-environments">MATLAB-like environments</h2>
|
||
<ul>
|
||
<li><a href="https://www.gnu.org/software/octave/">GNU Octave</a> - GNU
|
||
Octave is a high-level interpreted language, primarily intended for
|
||
numerical computations. It can run many MATLAB programs unmodified.</li>
|
||
<li><a href="http://www.scilab.org/">Scilab</a> - Scilab is free and
|
||
open source software for numerical computation providing a powerful
|
||
computing environment for engineering and scientific applications.</li>
|
||
<li><a
|
||
href="https://www.ni.com/en-gb/support/downloads/software-products/download.labview-mathscript-module.html#345625">MathScript</a>
|
||
- MathScript is an interpreter for MATLAB® code for the <a
|
||
href="http://www.ni.com/labview/">LabView</a> programming language.</li>
|
||
</ul>
|
||
<h2 id="making-figures">Making Figures</h2>
|
||
<p><em>Third-party tools to produce publication quality
|
||
figures.</em></p>
|
||
<ul>
|
||
<li><a href="https://git.io/antijet">antijet</a> - An alternative to the
|
||
problematic “jet”-colormap.</li>
|
||
<li><a href="https://github.com/altmany/export_fig">export_fig</a> -
|
||
produces better vector/bitmap graphics than standalone MATLAB®.</li>
|
||
<li><a
|
||
href="https://uk.mathworks.com/matlabcentral/fileexchange/54465-gramm-complete-data-visualization-toolbox-ggplot2-r-like">gramm</a>
|
||
- GRAMmar of graphics for Matlab.</li>
|
||
<li><a
|
||
href="http://dgleich.github.io/hq-matlab-figs/">hq-matlab-figs</a> -
|
||
Creating high-quality graphics in MATLAB for papers and
|
||
presentations.</li>
|
||
<li><a href="https://github.com/matlab2tikz/matlab2tikz">matlab2tikz</a>
|
||
- exports MATLAB® figures to TikZ code for seamless inclusion in LaTeX
|
||
documents.</li>
|
||
<li><a
|
||
href="https://de.mathworks.com/matlabcentral/fileexchange/62729-matplotlib-2-0-colormaps--perceptually-uniform-and-beautiful">matplotlib
|
||
colormaps</a> - Perceptually uniform colormaps.</li>
|
||
<li><a
|
||
href="http://www.mathworks.com/matlabcentral/fileexchange/7401-scalable-vector-graphics--svg--export-of-figures">plot2svg</a>
|
||
- exports MATLAB® figures to Scalable Vector Graphics format. This is
|
||
particularly useful in older MATLAB® versions that don’t support
|
||
<code>print -dsvg</code>.</li>
|
||
<li><a href="https://plot.ly/matlab/">Plotly MATLAB Library</a> -
|
||
exports MATLAB figures to the online plotting service <a
|
||
href="https://plot.ly">plot.ly</a>.</li>
|
||
<li><a
|
||
href="https://github.com/djoshea/matlab-save-figure">saveFigure</a> -
|
||
exports MATLAB® figures to PDF, SVG, EPS and PNG with improved support
|
||
for transparancy.</li>
|
||
<li><a
|
||
href="https://mathworks.com/matlabcentral/fileexchange/24035-wgplot-weighted-graph-plot--a-better-version-of-gplot">wgPlot</a>
|
||
- A better version of gplot.</li>
|
||
<li><a
|
||
href="https://www.mathworks.com/matlabcentral/fileexchange/38499-xkcdify">xkcdify</a>
|
||
- xkcd-style plots.</li>
|
||
</ul>
|
||
<h2 id="miscellaneous-free-toolboxes">Miscellaneous Free Toolboxes</h2>
|
||
<p><em>High quality free toolboxes in subject areas that don’t yet have
|
||
their own section</em></p>
|
||
<ul>
|
||
<li><a href="http://www.chebfun.org/">Chebfun</a> - Chebfun is an
|
||
open-source package for computing with functions to about 15-digit
|
||
accuracy.</li>
|
||
<li><a href="http://www.maths.manchester.ac.uk/~djs/ifiss/">IFISS</a> -
|
||
IFISS is a graphical package for the interactive numerical study of
|
||
incompressible flow problems which can be run under MATLAB or
|
||
Octave.</li>
|
||
<li><a
|
||
href="http://statweb.stanford.edu/~wavelab/Wavelab_850/index_wavelab850.html">Wavelab</a>
|
||
- WaveLab is a collection of MATLAB functions related to wavelet
|
||
analysis.</li>
|
||
<li><a href="http://www.ugr.es/~jfernand/mpitb_eng.html">MPITB</a> - MPI
|
||
Toolbox for Matlab (<a href="http://www.ugr.es/~jfernand/mpitb.html">MPI
|
||
Toolbox for Octave</a>).</li>
|
||
<li><a
|
||
href="http://research.microsoft.com/en-us/um/people/minka/software/lightspeed/">Lightspeed</a>
|
||
- Microsoft Lightspeed Utilities Toolbox.</li>
|
||
<li><a href="http://www.brain-connectivity-toolbox.net/">bct</a> - Brain
|
||
Connectivity Toolbox.</li>
|
||
<li><a href="https://github.com/imaginairy-user/opencl-toolbox/">OpenCL
|
||
Toolbox</a> - OpenCL support for MATLAB.</li>
|
||
<li><a href="http://www.uqlab.com/">UQLab</a> - The Framework for
|
||
Uncertainty Quantification.</li>
|
||
<li><a href="http://octave.sourceforge.net/">Octave Forge</a> - Extra
|
||
packages for GNU Octave.</li>
|
||
<li><a
|
||
href="http://www.maths.manchester.ac.uk/~higham/mctoolbox/">Matrix
|
||
Computation Toolbox</a> - For constructing test matrices, computing
|
||
matrix factorizations, visualizing matrices, and carrying out direct
|
||
search optimization.</li>
|
||
<li><a
|
||
href="http://timmitchell.com/software/GRANSO/index.html">GRANSO</a> -
|
||
GRadient-based Algorithm for Non-Smooth Optimization.</li>
|
||
<li><a
|
||
href="http://www.timmitchell.com/software/ROSTAPACK/index.html">ROSTAPACK</a>
|
||
- RObust STAbility PACKage.</li>
|
||
<li><a href="https://github.com/clugen/MOCluGen">MOCluGen</a> -
|
||
Multidimensional cluster generation in MATLAB/Octave.</li>
|
||
</ul>
|
||
<h2 id="model-reduction">Model Reduction</h2>
|
||
<ul>
|
||
<li><a href="https://lvdmaaten.github.io/drtoolbox/">drtoolbox</a> -
|
||
Matlab Toolbox for Dimensionality Reduction.</li>
|
||
<li><a href="http://dmdbook.com/CODE.zip">DMD Book</a> - Dynamic Mode
|
||
Decomposition Book Companion Code.</li>
|
||
<li><a href="http://gramian.de">emgr</a> - EMpirical GRamian framework
|
||
for model reduction of input-output systems.</li>
|
||
<li><a href="http://git.io/hapod">hapod</a> - Hierarchical Approximate
|
||
Proper Orthogonal Decomposition.</li>
|
||
<li><a href="https://mordigitalsystems.fr/en/">MOR Toolbox</a> - Model
|
||
Reduction Toolbox for MATLAB (formerly: <a
|
||
href="http://w3.onera.fr/more/">MORE</a> - a MOdel REduction
|
||
Toolbox).</li>
|
||
<li><a
|
||
href="http://www.ians.uni-stuttgart.de/MoRePaS/software/kermor/">KerMor</a>
|
||
- Model order reduction for nonlinear dynamical systems and nonlinear
|
||
approximation.</li>
|
||
<li><a href="https://git.io/morgen">morgen</a> - Model Order Reduction
|
||
for Gas and Energy Networks.</li>
|
||
<li><a href="http://www.mpi-magdeburg.mpg.de/1657682/morlab">MORLAB</a>
|
||
- Model Order Reduction Laboratory.</li>
|
||
<li><a
|
||
href="http://tu-dresden.de/die_tu_dresden/fakultaeten/fakultaet_maschinenwesen/ifkm/dmt/forschung/forschungsthemen/morpack">MORPACK</a>
|
||
- Model Order Reduction PACKage.</li>
|
||
<li><a href="http://www.mpi-magdeburg.mpg.de/projects/mess">MESS</a> -
|
||
The Matrix Equations Sparse Solvers library, is the successor to the
|
||
Lyapack Toolbox.</li>
|
||
<li><a
|
||
href="https://web.archive.org/web/20080727002739/http://scowl.ge.uiuc.edu/~ssivakum/research.html">MRedTool</a>
|
||
- A MATLAB toolbox for model reduction of multi-dimensional
|
||
systems.</li>
|
||
<li><a href="http://homepages.rpi.edu/~hahnj/Model_Reduction">Nonlinear
|
||
Model Reduction Routines for MATLAB</a> - Empirical balanced truncation
|
||
toolbox.</li>
|
||
<li><a
|
||
href="https://www.mathworks.com/matlabcentral/fileexchange/64392-psssmor-toolbox">psssMOR</a>
|
||
- A parametric sparse state-space and Model Order Reduction
|
||
toolbox.</li>
|
||
<li><a href="https://www.morepas.org/software/rbmatlab/">RBmatlab</a> -
|
||
A MATLAB library for model order reduction with Reduced Basis
|
||
Methods.</li>
|
||
<li><a href="https://github.com/redbKIT/redbKIT">redBKIT</a> - A MATLAB
|
||
library for reduced-order modeling of parametrized PDEs.</li>
|
||
<li><a href="http://simplifytoolbox.tumblr.com/">SiMpLIfy</a> -
|
||
Structured ModeL reduction.</li>
|
||
<li><a
|
||
href="http://slicot.org/matlab-toolboxes/model-reduction">SLICOT</a> -
|
||
SLICOT Model and Controller Reduction Toolbox.</li>
|
||
<li><a
|
||
href="https://web.archive.org/web/20151115030532/http://bnbond.com/software/smores/">SMORES</a>
|
||
- A Matlab tool for Simulation and Model Order Reduction of Electrical
|
||
Systems.</li>
|
||
<li><a href="http://doi.org/10.5281/zenodo.3332706">SOMDDPA</a> -
|
||
Second-Order Modally-Damped Dominant Pole Algorithm.</li>
|
||
<li><a href="https://github.com/MORLab/sssMOR">sssMOR</a> - sparse state
|
||
space and Model Order Reduction toolbox.</li>
|
||
<li><a href="http://sumo.intec.ugent.be/SUMO">SUMO</a> - SUrrogate
|
||
MOdelling lab.</li>
|
||
</ul>
|
||
<h2 id="optimization">Optimization</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://matlabacademy.mathworks.com/details/optimization-onramp/optim">Optimization
|
||
Onramp</a> - Free interactive course from MathWorks. Learn the basics of
|
||
optimization in MATLAB.</li>
|
||
<li><a href="https://uk.mathworks.com/help/gads/index.html">Global
|
||
Optimization Toolbox</a> - Offical toolbox from MathWorks. Includes
|
||
algorithms such as Simulated Annealing, Particle Swarm Optimizaton and
|
||
Genetic Algorithms.</li>
|
||
<li><a href="https://www.manopt.org/">Manopt</a> - Free toolboxes for
|
||
optimization on manifolds and matrices.</li>
|
||
<li><a
|
||
href="https://uk.mathworks.com/help/optim/index.html">Optimization
|
||
Toolbox</a> - Official optimization Toolbox from MathWorks.</li>
|
||
<li><a href="https://uk.mathworks.com/help/matlab/qubo.html">Quadratic
|
||
Unconstrained Binary Optimization (QUBO)</a> - An optimization
|
||
formulation that’s available in MATLAB via the Quantum Computing Support
|
||
package</li>
|
||
</ul>
|
||
<h2 id="parallel-computing-in-matlab">Parallel Computing in MATLAB</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://uk.mathworks.com/products/parallel-computing.html">Parallel
|
||
Computing Toolbox</a> - 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.</li>
|
||
</ul>
|
||
<h2 id="quantum-computing">Quantum Computing</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://uk.mathworks.com/matlabcentral/fileexchange/125425-matlab-support-package-for-quantum-computing">MATLAB
|
||
Support Package for Quantum Computing</a> - 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.</li>
|
||
<li><a href="https://github.com/QuantumComputingLab/qclab">QCLAB MATLAB
|
||
Toolbox</a> - QCLAB is an object-oriented MATLAB toolbox for creating,
|
||
representing and simulating quantum circuits.</li>
|
||
<li><a
|
||
href="https://uk.mathworks.com/matlabcentral/fileexchange/129264-strangeworks">Strangeworks
|
||
SDK</a> - This allows users to submit jobs from MATLAB to a range of
|
||
Quantum Hardware via the Strangeworks platform.</li>
|
||
</ul>
|
||
<h2 id="statistics">Statistics</h2>
|
||
<ul>
|
||
<li><a href="http://rosa.unipr.it/fsda.html">FSDA Toolbox</a> - 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.</li>
|
||
<li><a href="https://uk.mathworks.com/help/stats/index.html">Statistics
|
||
and Machine Learning Toolbox</a> - Statistics and Machine Learning
|
||
Toolbox from MathWorks.</li>
|
||
</ul>
|
||
<h2 id="using-matlab-in-other-environments">Using MATLAB in other
|
||
environments</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://blogs.mathworks.com/matlab/2023/01/30/official-mathworks-matlab-kernel-for-jupyter-released/">Official
|
||
MATLAB Kernel for Jupyter</a> - Blog post describing how to install and
|
||
use the official MATLAB Kernel for Jupyter</li>
|
||
</ul>
|
||
<h1 id="resources">Resources</h1>
|
||
<p>Where to discover new MATLAB resources.</p>
|
||
<h2 id="websites">Websites</h2>
|
||
<ul>
|
||
<li><a href="http://uk.mathworks.com/matlabcentral/fileexchange/">MATLAB
|
||
File Exchange</a> - File Exchange lets you find and share custom
|
||
applications, classes, code examples, drivers, functions, Simulink
|
||
models, scripts, and videos.</li>
|
||
<li><a href="http://uk.mathworks.com/matlabcentral/cody/">Cody</a> - A
|
||
website with programming challenges that consist of writing MATLAB®
|
||
code. A fun way to improve your skills.</li>
|
||
<li><a href="https://thingspeak.com">ThingSpeak</a> - 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.</li>
|
||
<li><a href="http://octave-online.net/">Octave-Online</a> - An online
|
||
Octave interpreter.</li>
|
||
<li><a href="http://matlab.wikia.com/wiki/FAQ">Matlab FAQ on
|
||
Wikia</a></li>
|
||
<li><a href="https://hackr.io/tutorials/learn-matlab">Programming
|
||
Community Curated Resources For Learning Matlab</a></li>
|
||
<li><a href="http://people.duke.edu/~hpgavin/m-files/">Assorted
|
||
.m-files</a> - by H.P. Gavin.</li>
|
||
</ul>
|
||
<h2 id="blogs">Blogs</h2>
|
||
<ul>
|
||
<li><a href="http://blogs.mathworks.com/cleve/">Cleve’s Corner: Cleve
|
||
Moler on Mathematics and Computing</a> - Cleve Moler is the author of
|
||
the first MATLAB, one of the founders of MathWorks, and is currently
|
||
Chief Mathematician at the company.</li>
|
||
<li><a href="https://blogs.mathworks.com/matlab/">The MATLAB Blog</a> -
|
||
Mike Croucher, a Customer Success Engineer at MathWorks, writes about
|
||
MATLAB.</li>
|
||
<li><a href="http://blogs.mathworks.com/developer/">Developer Zone</a> -
|
||
Developing, testing, and integrating production grade software using
|
||
MATLAB.</li>
|
||
<li><a href="http://blogs.mathworks.com/seth/">Guy and Seth on
|
||
Simulink</a> - Guy Rouleau and Seth Popinchalk are Application Engineers
|
||
for MathWorks.</li>
|
||
<li><a href="http://blogs.mathworks.com/steve/">Steve on Image
|
||
Processing</a> - Steve Eddins has developed MATLAB and image processing
|
||
capabilities for MathWorks since 1993.</li>
|
||
<li><a href="http://undocumentedmatlab.com">Undocumented MATLAB</a> -
|
||
Yair Altman blogs about the hidden underbelly of MATLAB®. This is the
|
||
place to be for discovering new and awesome features.</li>
|
||
<li><a href="http://www.walkingrandomly.com/?cat=11">WalkingRandomly</a>
|
||
- The MATLAB tag of WalkingRandomly.</li>
|
||
<li><a href="http://xcorr.net/?s=matlab">xcorr: comp neuro</a> - MATLAB
|
||
relevant post of XCORR.</li>
|
||
<li><a href="http://matlabgeeks.com/">Matlab Geeks</a> - Matlab Blog,
|
||
Tutorials and Expertise.</li>
|
||
</ul>
|
||
<h2 id="books">Books</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://www.crcpress.com/Accelerating-MATLAB-Performance-1001-tips-to-speed-up-MATLAB-programs/Altman/9781482211290">Accelerating
|
||
MATLAB Performance: 1001 tips to speed up MATLAB programs</a> - A superb
|
||
guide to making MATLAB code faster.</li>
|
||
<li><a href="http://www.databookuw.com/">Data-Driven Science and
|
||
Engineering: Machine Learning, Dynamical Systems and Control</a> - This
|
||
textbook brings together machine learning, engineering mathematics, and
|
||
mathematical physics to integrate modeling and control of dynamical
|
||
systems with modern methods in data science.</li>
|
||
<li><a
|
||
href="http://www.cambridge.org/us/academic/subjects/computer-science/scientific-computing-scientific-software/elements-matlab-style">The
|
||
Elements of MATLAB Style</a> - Coding guidelines for the MATLAB
|
||
language.</li>
|
||
<li><a
|
||
href="http://eu.wiley.com/WileyCDA/WileyTitle/productCd-111882010X.html">MATLAB
|
||
for Dummies</a> - A good beginners book.</li>
|
||
<li><a href="http://www.ma.man.ac.uk/~higham/mg/">MATLAB Guide</a> - By
|
||
Desmond and Nicholas Higham. One of the best books for learning
|
||
MATLAB</li>
|
||
<li><a
|
||
href="https://www.crcpress.com/Undocumented-Secrets-of-MATLAB-Java-Programming/Altman/9781439869031#isbn">Undocumented
|
||
Secrets of MATLAB-Java Programming</a> - A great guide on MATLAB® and
|
||
its Java interface (e.g. for GUIs or interaction with JVM
|
||
software).</li>
|
||
<li><a href="http://www.sagepub.com/books/Book239284">An Introduction to
|
||
MATLAB for Behavioral Researchers</a> - Beginner book for those with no
|
||
programming experience. Targeted to those in psychology/behavioural
|
||
sciences and uses real experimental data in examples.</li>
|
||
</ul>
|
||
<h2 id="courseware">Courseware</h2>
|
||
<p><em>Materials developed to help you teach various subjects.</em></p>
|
||
<ul>
|
||
<li><a
|
||
href="https://www.mathworks.com/matlabcentral/fileexchange/180661-computer-vision-basics">Computer
|
||
Vision Basics</a> - This curriculum module contains interactive MATLAB
|
||
live scripts centered on the fundamentals of image segmentation.</li>
|
||
<li><a
|
||
href="https://www.mathworks.com/matlabcentral/fileexchange/97112-convolution-in-digital-signal-processing">Convolution
|
||
in Digital Signal Processing</a> - This curriculum module contains
|
||
interactive MATLAB live scripts and supporting data files centered
|
||
around the fundamentals of convolution in digital signal
|
||
processing.</li>
|
||
</ul>
|
||
<h2 id="reference-cards">Reference Cards</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://www.mathworks.com/campaigns/products/cheat-sheets.html">Cheat
|
||
Sheets for MATLAB and Simulink</a> - Use these cheat sheets as quick
|
||
reference resources for MATLAB and Simulink.</li>
|
||
<li><a
|
||
href="http://www.robots.ox.ac.uk/~dwm/Courses/1P5_2011/MatlabQuickRef1v1.pdf">MATLAB
|
||
Quick Reference</a> - by Eric Peasley, Department of Engineering
|
||
Science, University of Oxford</li>
|
||
</ul>
|
||
<h2 id="social-media">Social Media</h2>
|
||
<ul>
|
||
<li><a href="https://www.facebook.com/MATLAB">MATLAB on Facebook</a> -
|
||
Official Facebook page for MATLAB.</li>
|
||
<li><a href="https://www.reddit.com/r/matlab/">MATLAB Reddit</a> -
|
||
MATLAB on Reddit.</li>
|
||
<li><a href="http://stackoverflow.com/questions/tagged/matlab">MATLAB on
|
||
Stack Overflow</a> - Stack Overflow is a community of 4.7 million
|
||
programmers, just like you, helping each other.</li>
|
||
<li><a href="https://twitter.com/MATLAB">MATLAB on Twitter</a> -
|
||
Official MATLAB twitter account.</li>
|
||
<li><a href="http://stackoverflow.com/questions/tagged/octave">Octave on
|
||
Stack Overflow</a> - Stack Overflow has an extensive back catalogue of
|
||
many answered questions.</li>
|
||
<li><a href="https://www.reddit.com/r/octave/">Octave Reddit</a> -
|
||
Octave on Reddit.</li>
|
||
</ul>
|
||
<h2 id="moocs">MOOCs</h2>
|
||
<p><em>Massive open online courses.</em></p>
|
||
<ul>
|
||
<li><a href="http://www.ulaff.net/index.html">Linear Algebra:
|
||
Foundations to Frontiers</a> - Hands-on introduction to Linear Algebra
|
||
using MATLAB.</li>
|
||
</ul>
|
||
<h2 id="tips-and-tricks">Tips and Tricks</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://www.mathworks.com/content/dam/mathworks/mathworks-dot-com/campaigns/portals/files/intel/may-12-2015-advanced-matlab.pdf">Advanced
|
||
Programming Techniques in MATLAB</a> - Slides by Loren Shure.</li>
|
||
<li><a
|
||
href="http://www.mathworks.com/matlabcentral/fileexchange/22943-guidelines-for-writing-clean-and-fast-code-in-matlab">Guidelines
|
||
for writing clean and fast code in MATLAB</a> - A guide with best
|
||
practices in MATLAB® programming to which anybody can <a
|
||
href="https://github.com/nschloe/matlab-guidelines">contribute</a>.</li>
|
||
<li><a href="https://git.io/mtips">Octave and MATLAB Snippets</a> -
|
||
Collection of code snippets.</li>
|
||
<li><a href="https://github.com/kendrickkay/knkutils">knkutils</a> -
|
||
MATLAB utility functions written by Kendrick Kay.</li>
|
||
<li><a
|
||
href="http://bickson.blogspot.de/2011/10/lanczos-algorithm-for-svd-singule-value.html">Lanczos
|
||
Algorithm for SVD</a> - MATLAB Code</li>
|
||
<li><a href="https://jie-chen-ibm.appspot.com/software.html">Jie Chen’s
|
||
Software</a> - Collection of companion codes (mostly MATLAB).</li>
|
||
<li><a href="http://sspsite.org/matlab_scripts.html">SSP RK</a> - Strong
|
||
Stability Preserving Runge-Kutta Codes.</li>
|
||
<li><a href="http://faculty.smu.edu/shampine/current.html">BV78</a> -
|
||
Shampine’s Adaptive Block Vectorized Runge-Kutta 7-8.</li>
|
||
<li><a
|
||
href="http://www.datatool.com/downloads/MatlabStyle2%20book.pdf">MATLAB
|
||
Style Guidelines 2.0</a> - by R. Johnson.</li>
|
||
<li><a
|
||
href="https://gist.github.com/precisesimulation/94395a41e53abf01da4d073b3b746493">parrun.sh</a>
|
||
- MATLAB and OCTAVE Parallel Job Script.</li>
|
||
<li><a href="https://git.io/flamegraph">flamegraph</a> - Flame graph
|
||
visualization for Octave’s profiler output.</li>
|
||
<li><a
|
||
href="https://www.mathworks.com/matlabcentral/fileexchange/23786-recursive-mlint">mlintall</a>
|
||
- Recursive <code>mlint</code></li>
|
||
</ul>
|
||
<h1 id="contributing">Contributing</h1>
|
||
<p>Your contributions are always welcome. Refer to the <a
|
||
href="https://github.com/mikecroucher/awesome-MATLAB/blob/main/Contributing.md">contribution
|
||
guidelines</a> if you’d like to make a Pull Request.</p>
|
||
<p>This work is licensed under the Creative Commons
|
||
Attribution-NonCommercial-ShareAlike 4.0 International License - <a
|
||
href="http://creativecommons.org/licenses/by-nc-sa/4.0/legalcode">CC
|
||
BY-NC-SA 4.0</a></p>
|
||
<p><a href="https://github.com/mikecroucher/awesome-MATLAB">MATLAB.md
|
||
Github</a></p>
|