├── Contributing.md ├── README.md └── license.md /Contributing.md: -------------------------------------------------------------------------------- 1 | # Contributing to Awesome MATLAB 2 | 3 | Thanks for taking the time to contribute :+1: 4 | 5 | The following is a set of guidelines for contributing to Awesome MATLAB. 6 | These are just guidelines, not rules, use your best judgment and feel free to propose changes to this project. 7 | 8 | ## How Can I Contribute? 9 | 10 | ### Creating Issues 11 | 12 | Do you know any awesome MATLAB resources that aren't in this list? Aren't on the [open issues](https://github.com/mikecroucher/awesome-MATLAB/issues) or [pull requests](https://github.com/mikecroucher/awesome-MATLAB/pulls)? 13 | Please create a new issue or submit a pull request, we will be happy to receive it! 14 | 15 | ### Submitting Pull Requests 16 | 17 | Feel free to take any open issue, just ensure that you follow the contribution guidelines. 18 | 19 | ### Voting and commenting 20 | 21 | Just use GitHub reactions and comments to express your feelings/experience about open suggestions (additions or removals). 22 | 23 | ## Contribution Guidelines 24 | 25 | * Please search previous suggestions before making a new one, as yours may be a duplicate. 26 | * Use the following format: `[Resource name](http://example.com/) - A short description.` 27 | * The link should be the name of the package or project. 28 | * Links and categories should be sorted alphabetically. 29 | * Add one link per pull-request. 30 | * Keep descriptions sentance case, concise, clear and simple, and end them with a period/stop. 31 | * Check your spelling and grammar. 32 | * New categories, or improvements to the existing ones are also welcome. 33 | * Make sure your text editor is set to remove trailing whitespace. 34 | 35 | Thanks to all [contributors](https://github.com/mikecroucher/awesome-MATLAB/graphs/contributors), you're awesome and wouldn't be possible without you! 36 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Awesome MATLAB [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) 2 | 3 | A curated list of awesome MATLAB toolboxes, applications, software and resources. 4 | Inspired by [awesome-R](https://github.com/qinwf/awesome-R). 5 | 6 | - [Awesome MATLAB ](#awesome-matlab--) 7 | - [3rd Party Commercial Toolboxes](#3rd-party-commercial-toolboxes) 8 | - [Artificial Intelligence and Machine Learning](#artificial-intelligence-and-machine-learning) 9 | - [Computational Mechanics](#computational-mechanics) 10 | - [Cool](#cool) 11 | - [Database Management](#database-management) 12 | - [Games](#games) 13 | - [Geospatial](#geospatial) 14 | - [GPU Computing in MATLAB](#GPU-Computing-in-MATLAB) 15 | - [Hardware](#hardware) 16 | - [High Performance Computing in MATLAB](#high-performance-computing-in-matlab) 17 | - [Image Processing and Computer Vision](#image-processing-and-computer-vision) 18 | - [Interfacing with other languages](#interfacing-with-other-languages) 19 | - [Interfacing with other programs](#interfacing-with-other-programs) 20 | - [Learning MATLAB](#learning-matlab) 21 | - [Making Figures](#making-figures) 22 | - [Miscellaneous Free Toolboxes](#miscellaneous-free-toolboxes) 23 | - [MATLAB-like environments](#matlab-like-environments) 24 | - [Model Reduction](#model-reduction) 25 | - [Optimization](#optimization) 26 | - [Parallel Computing in MATLAB](#Parallel-Computing-in-MATLAB) 27 | - [Quantum Computing](#Quantum-Computing) 28 | - [Statistics](#statistics) 29 | - [Using MATLAB in other environments](#using-matlab-in-other-environments) 30 | - [Resources](#resources) 31 | - [Websites](#websites) 32 | - [Blogs](#blogs) 33 | - [Books](#books) 34 | - [Courseware](#courseware) 35 | - [Reference Cards](#reference-cards) 36 | - [Social Media](#social-media) 37 | - [MOOCs](#moocs) 38 | - [Tips and Tricks](#tips-and-tricks) 39 | - [Contributing](#contributing) 40 | 41 | 42 | ## 3rd Party Commercial Toolboxes 43 | *High quality commercial toolboxes from organisations other than MathWorks* 44 | 45 | * [FEM Operations Toolbox](https://www.andata.at/en/fem-operations-toolbox.html) - 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). 46 | * [Multiprecision Toolbox for MATLAB](http://www.advanpix.com/) - 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. 47 | * [MOSEK Optimization Tools](https://www.mosek.com) - 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). 48 | * [FEATool Multiphysics](http://www.precisesimulation.com) - Finite Element FEM Simulation toolbox for Matlab and Octave featuring an easy to use GUI, integrated CAD, geometry, grid generation, solvers, and postprocessing functionality. 49 | 50 | ## Artificial Intelligence and Machine Learning 51 | * [AI Chat Playground](https://uk.mathworks.com/matlabcentral/playground/new) - Free service from MathWorks. Chat with an AI about MATLAB and run code in the browser. 52 | * [AI Verification: Constrained Deep Learning](https://github.com/matlab-deep-learning/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 53 | Online](https://www.mathworks.com/images/responsive/global/open-in-matlab-online.svg)](https://matlab.mathworks.com/open/github/v1?repo=matlab-deep-learning/constrained-deep-learning) 54 | * [Deep Learning Toolbox](https://www.mathworks.com/products/deep-learning.html) - MATLAB's official deep learning toolbox from MathWorks 55 | * [Deep Learning Verification](https://uk.mathworks.com/help/deeplearning/deep-learning-verification-for-images.html) - Deep learning verification is a set of techniques for assessing the properties of deep neural networks. A free support package from MathWorks. 56 | * [Large Language Models (LLMs) with MATLAB](https://github.com/matlab-deep-learning/llms-with-matlab) Large Language Models (LLMs) with MATLAB lets you connect to large language model APIs using MATLAB®. [![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/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) 57 | * [MATLAB Deep Learning Model Hub](https://github.com/matlab-deep-learning/MATLAB-Deep-Learning-Model-Hub) - Discover the latest pretrained models for deep learning in MATLAB. 58 | * [MATLAB GPT](https://chatgpt.com/g/g-QFTjbeK3U-matlab) - Discover MATLAB with the official MATLAB GPT by MathWorks. 59 | * [Reinforcement Learning Toolbox](https://uk.mathworks.com/products/reinforcement-learning.html) - MATLAB's official toolbox for Reinforcement Learning from MathWorks. 60 | * [SciML-and-Physics-Informed-Machine-Learning-Examples](https://github.com/matlab-deep-learning/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) 61 | * [Statistics and Machine Learning Toolbox](https://uk.mathworks.com/products/statistics.html) - MATLAB's official traditional (i.e. not neural networks) machine learning toolbox from MathWorks 62 | 63 | ## Computational Mechanics 64 | * [GIBBON](https://www.gibboncode.org/) - 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). 65 | 66 | ## Cool 67 | *Fun projects that make you say 'Cool!'* 68 | 69 | - [Engima](http://blogs.mathworks.com/pick/2015/10/30/enigma/) - MATLAB version of the Enigma machine. 70 | - [Invisibility Cloak Using MATLAB and Simulink](https://www.mathworks.com/matlabcentral/fileexchange/103830-invisibility-cloak-using-matlab-and-simulink) - This submission contains the implementation of an Invisibility Cloak using image thresholding and segmentation. 71 | 72 | ## Database Management 73 | *Toolboxes for managing data* 74 | 75 | * [Database toolbox](http://uk.mathworks.com/products/database/) - Official database toolbox from The MathWorks. 76 | * [go-redis](https://github.com/markuman/go-redis/) - Free Redis Mex client for MATLAB. 77 | * [mex-sqlite3](https://github.com/rmartinjak/mex-sqlite3) - Free Sqlite3 Mex client for MATLAB. 78 | * [dotenv for MATLAB](https://github.com/mathworks/dotenv-for-MATLAB) - Manage database configuration environment variables. 79 | 80 | ## Games 81 | 82 | *Fully playable games developed in MATLAB.* 83 | 84 | * [2048](http://uk.mathworks.com/matlabcentral/fileexchange/46124-2048-matlab-edition) - 2048 is a game originally created by Gabriele Cirulli. This is a MATLAB implementation of the game. 85 | * [Flappy bird](http://uk.mathworks.com/matlabcentral/fileexchange/45795-flappy-bird-for-matlab) - 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. 86 | 87 | ## Geospatial 88 | 89 | * [Mapping Toolbox](https://uk.mathworks.com/help/map/index.html) - The official Mapping Toolbox from MathWorks. 90 | * [TopoToolbox](https://topotoolbox.wordpress.com/) - TopoToolbox is a MATLAB program for the analysis of digital elevation models (DEMs). It's free and open source. 91 | * [m_map](https://www.eoas.ubc.ca/~rich/map.html) - A mapping package for Matlab. 92 | 93 | ## GPU Computing in MATLAB 94 | * [Deep Learning with MATLAB on Multiple GPUs](https://uk.mathworks.com/help/deeplearning/ug/deep-learning-with-matlab-on-multiple-gpus.html) - MATLAB supports training a single deep neural network using multiple GPUs in parallel. 95 | * [GPU Section of the MATLAB Blog](https://blogs.mathworks.com/matlab/category/gpu/) - Mike Croucher from MathWorks writes about GPU Programming in MATLAB 96 | * [GPU Computing using Parallel Computing Toolbox](https://uk.mathworks.com/help/parallel-computing/gpu-computing.html) - The relevant section of the documentation for getting started with GPU computing using NVIDIA GPUs in MATLAB. 97 | * [GPU Coder](https://uk.mathworks.com/help/gpucoder/getting-started-with-gpu-coder.html) - Generates CUDA code from MATLAB code. 98 | * [MATLAB on the NVIDIA GPU Cloud](https://ngc.nvidia.com/catalog/containers/partners:matlab) - Running MATLAB on the NVIDIA GPU Cloud. 99 | * [NVIDIA Jetson Support from MATLAB Coder](https://uk.mathworks.com/hardware-support/nvidia-jetson.html) - 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. 100 | 101 | ## Hardware 102 | 103 | * [Arduino Support package](https://www.mathworks.com/matlabcentral/fileexchange/47522-matlab-support-package-for-arduino-hardware) - MATLAB Support Package for Arduino Hardware 104 | * [CPU Info](https://de.mathworks.com/matlabcentral/fileexchange/33155-cpu-info) - Read various bits of information about the CPU and operating system. 105 | * [MATLAB Mobile](http://uk.mathworks.com/products/matlab-mobile/) - MATLAB on Android and iOS mobile phones and tablets. 106 | * [Raspberry Pi Support from MATLAB](http://uk.mathworks.com/hardware-support/raspberry-pi-matlab.html) - Acquire sensor and image data from your connected Raspberry Pi. 107 | * [Rasperry Pi IO Support for Octave](http://github.com/octave-de/octave-rpi-gpio) - Control Rasperry Pi GPIO Port from Octave. 108 | 109 | ## Image Processing and Computer Vision 110 | 111 | * [Computer Vision System Toolbox](http://uk.mathworks.com/products/computer-vision/) - The official computer vision toolbox from MathWorks. 112 | * [Image Processing Toolbox](http://uk.mathworks.com/products/image/) - The official Image Processing Toolbox from MathWorks. 113 | * [MatConvNet](http://www.vlfeat.org/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. 114 | * [VLFeat](http://www.vlfeat.org/) - 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. 115 | * [MexOpenCV](https://github.com/kyamagu/mexopencv) - MATLAB MEX interface for [OpenCV](http://opencv.org), i.e. one of the leading libraries for computer vision. 116 | * [Zoning Aggregated Hypercolumns for Keyword Spotting](https://github.com/sfikas/zah) - An image descriptor, suitable for keyword spotting, that is computed as a function of Convolutional Neural Network intermediate layer responses. 117 | 118 | ## Interfacing with other languages 119 | 120 | * [C/C++ mex routines](http://uk.mathworks.com/help/matlab/write-cc-mex-files.html) - C/C++ MEX files allow to call C/C++ functions from within MATLAB. 121 | * [Fortran mex routines](http://uk.mathworks.com/help/matlab/write-fortran-mex-files.html) - Fortran MEX routines allow you to call Fortran code from within MATLAB. 122 | * [MATLAB Engine for Python](http://uk.mathworks.com/help/matlab/matlab_external/get-started-with-matlab-engine-for-python.html) - The MATLAB Engine for Python provides a Python package named `matlab` that enables you to call MATLAB functions from within Python. 123 | * [MATLink](http://matlink.org/) - To run MATLAB code inside Mathematica / Wolfram Language notebooks. 124 | * [node-matlab](https://github.com/zeybek/node-matlab) - To run MATLAB code inside NodeJS. 125 | * [Python](http://uk.mathworks.com/help/matlab/call-python-libraries.html) - How to call Python functions from within MATLAB. 126 | * [Rcall](https://github.com/kreutz-lab/Rcall) - The Rcall interface runs in MATLAB and provides direct access to methods and software packages implemented in R. 127 | 128 | ## Interfacing with other programs 129 | 130 | * [MATLAB QuickLook](https://github.com/jaketmp/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. 131 | * [MATLAB-git](https://github.com/manur/MATLAB-git) - A thin wrapper to call `git` from within a MATLAB console. 132 | * [JSONlab](https://github.com/fangq/jsonlab) - Toolbox to encode/decode [JSON](http://www.json.org) data files from within MATLAB and Octave. 133 | 134 | ## Learning MATLAB 135 | 136 | * [MATLAB Onramp](https://matlabacademy.mathworks.com/details/matlab-onramp/gettingstarted) - Start here if you've never used MATLAB before. 2 hour interactive intro from MathWorks. Free for all. 137 | * [AI-assisted MATLAB Programming with ChatGPT](https://www.coursera.org/learn/matlab-programming-with-chatgpt) - A Coursera course showing how to use ChatGPT to help you program in MATLAB 138 | * [Software Carpentry lessons in MATLAB](http://swcarpentry.github.io/matlab-novice-inflammation/) - Teaching basic lab skills for research computing. 139 | * [Control Tutorials for MATLAB and Simulink](http://ctms.engin.umich.edu/CTMS/index.php?aux=Home) - This site contains quite a bit control theory, some practical applications and how to implement these in MATLAB and SimuLink. 140 | * [Rosetta Code (MATLAB category)](http://rosettacode.org/wiki/Category:MATLAB) - Rosetta Code is a community comparing algorithms in different languages. 141 | 142 | ## MATLAB-like environments 143 | 144 | * [GNU Octave](https://www.gnu.org/software/octave/) - GNU Octave is a high-level interpreted language, primarily intended for numerical computations. It can run many MATLAB programs unmodified. 145 | * [Scilab](http://www.scilab.org/) - Scilab is free and open source software for numerical computation providing a powerful computing environment for engineering and scientific applications. 146 | * [MathScript](https://www.ni.com/en-gb/support/downloads/software-products/download.labview-mathscript-module.html#345625) - MathScript is an interpreter for MATLAB® code for the [LabView](http://www.ni.com/labview/) programming language. 147 | 148 | ## Making Figures 149 | 150 | *Third-party tools to produce publication quality figures.* 151 | 152 | * [antijet](https://git.io/antijet) - An alternative to the problematic "jet"-colormap. 153 | * [export_fig](https://github.com/altmany/export_fig) - produces better vector/bitmap graphics than standalone MATLAB®. 154 | * [gramm](https://uk.mathworks.com/matlabcentral/fileexchange/54465-gramm-complete-data-visualization-toolbox-ggplot2-r-like) - GRAMmar of graphics for Matlab. 155 | * [hq-matlab-figs](http://dgleich.github.io/hq-matlab-figs/) - Creating high-quality graphics in MATLAB for papers and presentations. 156 | * [matlab2tikz](https://github.com/matlab2tikz/matlab2tikz) - exports MATLAB® figures to TikZ code for seamless inclusion in LaTeX documents. 157 | * [matplotlib colormaps](https://de.mathworks.com/matlabcentral/fileexchange/62729-matplotlib-2-0-colormaps--perceptually-uniform-and-beautiful) - Perceptually uniform colormaps. 158 | * [plot2svg](http://www.mathworks.com/matlabcentral/fileexchange/7401-scalable-vector-graphics--svg--export-of-figures) - exports MATLAB® figures to Scalable Vector Graphics format. This is particularly useful in older MATLAB® versions that don't support `print -dsvg`. 159 | * [Plotly MATLAB Library](https://plot.ly/matlab/) - exports MATLAB figures to the online plotting service [plot.ly](https://plot.ly). 160 | * [saveFigure](https://github.com/djoshea/matlab-save-figure) - exports MATLAB® figures to PDF, SVG, EPS and PNG with improved support for transparancy. 161 | * [wgPlot](https://mathworks.com/matlabcentral/fileexchange/24035-wgplot-weighted-graph-plot--a-better-version-of-gplot) - A better version of gplot. 162 | * [xkcdify](https://www.mathworks.com/matlabcentral/fileexchange/38499-xkcdify) - xkcd-style plots. 163 | 164 | ## Miscellaneous Free Toolboxes 165 | *High quality free toolboxes in subject areas that don't yet have their own section* 166 | 167 | * [Chebfun](http://www.chebfun.org/) - Chebfun is an open-source package for computing with functions to about 15-digit accuracy. 168 | * [IFISS](http://www.maths.manchester.ac.uk/~djs/ifiss/) - IFISS is a graphical package for the interactive numerical study of incompressible flow problems which can be run under MATLAB or Octave. 169 | * [Wavelab](http://statweb.stanford.edu/~wavelab/Wavelab_850/index_wavelab850.html) - WaveLab is a collection of MATLAB functions related to wavelet analysis. 170 | * [MPITB](http://www.ugr.es/~jfernand/mpitb_eng.html) - MPI Toolbox for Matlab ([MPI Toolbox for Octave](http://www.ugr.es/~jfernand/mpitb.html)). 171 | * [Lightspeed](http://research.microsoft.com/en-us/um/people/minka/software/lightspeed/) - Microsoft Lightspeed Utilities Toolbox. 172 | * [bct](http://www.brain-connectivity-toolbox.net/) - Brain Connectivity Toolbox. 173 | * [OpenCL Toolbox](https://github.com/imaginairy-user/opencl-toolbox/) - OpenCL support for MATLAB. 174 | * [UQLab](http://www.uqlab.com/) - The Framework for Uncertainty Quantification. 175 | * [Octave Forge](http://octave.sourceforge.net/) - Extra packages for GNU Octave. 176 | * [Matrix Computation Toolbox](http://www.maths.manchester.ac.uk/~higham/mctoolbox/) - For constructing test matrices, computing matrix factorizations, visualizing matrices, and carrying out direct search optimization. 177 | * [GRANSO](http://timmitchell.com/software/GRANSO/index.html) - GRadient-based Algorithm for Non-Smooth Optimization. 178 | * [ROSTAPACK](http://www.timmitchell.com/software/ROSTAPACK/index.html) - RObust STAbility PACKage. 179 | * [MOCluGen](https://github.com/clugen/MOCluGen) - Multidimensional cluster generation in MATLAB/Octave. 180 | 181 | ## Model Reduction 182 | 183 | * [drtoolbox](https://lvdmaaten.github.io/drtoolbox/) - Matlab Toolbox for Dimensionality Reduction. 184 | * [DMD Book](http://dmdbook.com/CODE.zip) - Dynamic Mode Decomposition Book Companion Code. 185 | * [emgr](http://gramian.de) - EMpirical GRamian framework for model reduction of input-output systems. 186 | * [hapod](http://git.io/hapod) - Hierarchical Approximate Proper Orthogonal Decomposition. 187 | * [MOR Toolbox](https://mordigitalsystems.fr/en/) - Model Reduction Toolbox for MATLAB (formerly: [MORE](http://w3.onera.fr/more/) - a MOdel REduction Toolbox). 188 | * [KerMor](http://www.ians.uni-stuttgart.de/MoRePaS/software/kermor/) - Model order reduction for nonlinear dynamical systems and nonlinear approximation. 189 | * [morgen](https://git.io/morgen) - Model Order Reduction for Gas and Energy Networks. 190 | * [MORLAB](http://www.mpi-magdeburg.mpg.de/1657682/morlab) - Model Order Reduction Laboratory. 191 | * [MORPACK](http://tu-dresden.de/die_tu_dresden/fakultaeten/fakultaet_maschinenwesen/ifkm/dmt/forschung/forschungsthemen/morpack) - Model Order Reduction PACKage. 192 | * [MESS](http://www.mpi-magdeburg.mpg.de/projects/mess) - The Matrix Equations Sparse Solvers library, is the successor to the Lyapack Toolbox. 193 | * [MRedTool](https://web.archive.org/web/20080727002739/http://scowl.ge.uiuc.edu/~ssivakum/research.html) - A MATLAB toolbox for model reduction of multi-dimensional systems. 194 | * [Nonlinear Model Reduction Routines for MATLAB](http://homepages.rpi.edu/~hahnj/Model_Reduction) - Empirical balanced truncation toolbox. 195 | * [psssMOR](https://www.mathworks.com/matlabcentral/fileexchange/64392-psssmor-toolbox) - A parametric sparse state-space and Model Order Reduction toolbox. 196 | * [RBmatlab](https://www.morepas.org/software/rbmatlab/) - A MATLAB library for model order reduction with Reduced Basis Methods. 197 | * [redBKIT](https://github.com/redbKIT/redbKIT) - A MATLAB library for reduced-order modeling of parametrized PDEs. 198 | * [SiMpLIfy](http://simplifytoolbox.tumblr.com/) - Structured ModeL reduction. 199 | * [SLICOT](http://slicot.org/matlab-toolboxes/model-reduction) - SLICOT Model and Controller Reduction Toolbox. 200 | * [SMORES](https://web.archive.org/web/20151115030532/http://bnbond.com/software/smores/) - A Matlab tool for Simulation and Model Order Reduction of Electrical Systems. 201 | * [SOMDDPA](http://doi.org/10.5281/zenodo.3332706) - Second-Order Modally-Damped Dominant Pole Algorithm. 202 | * [sssMOR](https://github.com/MORLab/sssMOR) - sparse state space and Model Order Reduction toolbox. 203 | * [SUMO](http://sumo.intec.ugent.be/SUMO) - SUrrogate MOdelling lab. 204 | 205 | ## Optimization 206 | 207 | * [Optimization Onramp](https://matlabacademy.mathworks.com/details/optimization-onramp/optim) - Free interactive course from MathWorks. Learn the basics of optimization in MATLAB. 208 | * [Global Optimization Toolbox](https://uk.mathworks.com/help/gads/index.html) - Offical toolbox from MathWorks. Includes algorithms such as Simulated Annealing, Particle Swarm Optimizaton and Genetic Algorithms. 209 | * [Manopt](https://www.manopt.org/) - Free toolboxes for optimization on manifolds and matrices. 210 | * [Optimization Toolbox](https://uk.mathworks.com/help/optim/index.html) - Official optimization Toolbox from MathWorks. 211 | * [Quadratic Unconstrained Binary Optimization (QUBO)](https://uk.mathworks.com/help/matlab/qubo.html) - An optimization formulation that's available in MATLAB via the Quantum Computing Support package 212 | 213 | ## Parallel Computing in MATLAB 214 | 215 | * [Parallel Computing Toolbox](https://uk.mathworks.com/products/parallel-computing.html) - 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. 216 | 217 | ## Quantum Computing 218 | 219 | * [MATLAB Support Package for Quantum Computing](https://uk.mathworks.com/matlabcentral/fileexchange/125425-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. 220 | * [QCLAB MATLAB Toolbox](https://github.com/QuantumComputingLab/qclab) - QCLAB is an object-oriented MATLAB toolbox for creating, representing and simulating quantum circuits. 221 | * [Strangeworks SDK](https://uk.mathworks.com/matlabcentral/fileexchange/129264-strangeworks) - This allows users to submit jobs from MATLAB to a range of Quantum Hardware via the Strangeworks platform. 222 | 223 | ## Statistics 224 | 225 | * [FSDA Toolbox](http://rosa.unipr.it/fsda.html) - 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. 226 | * [Statistics and Machine Learning Toolbox](https://uk.mathworks.com/help/stats/index.html) - Statistics and Machine Learning Toolbox from MathWorks. 227 | 228 | ## Using MATLAB in other environments 229 | 230 | * [Official MATLAB Kernel for Jupyter](https://blogs.mathworks.com/matlab/2023/01/30/official-mathworks-matlab-kernel-for-jupyter-released/) - Blog post describing how to install and use the official MATLAB Kernel for Jupyter 231 | 232 | # Resources 233 | 234 | Where to discover new MATLAB resources. 235 | 236 | ## Websites 237 | 238 | * [MATLAB File Exchange](http://uk.mathworks.com/matlabcentral/fileexchange/) - File Exchange lets you find and share custom applications, classes, code examples, drivers, functions, Simulink models, scripts, and videos. 239 | * [Cody](http://uk.mathworks.com/matlabcentral/cody/) - A website with programming challenges that consist of writing MATLAB® code. A fun way to improve your skills. 240 | * [ThingSpeak](https://thingspeak.com) - 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. 241 | * [Octave-Online](http://octave-online.net/) - An online Octave interpreter. 242 | * [Matlab FAQ on Wikia](http://matlab.wikia.com/wiki/FAQ) 243 | * [Programming Community Curated Resources For Learning Matlab](https://hackr.io/tutorials/learn-matlab) 244 | * [Assorted .m-files](http://people.duke.edu/~hpgavin/m-files/) - by H.P. Gavin. 245 | 246 | ## Blogs 247 | 248 | * [Cleve's Corner: Cleve Moler on Mathematics and Computing](http://blogs.mathworks.com/cleve/) - Cleve Moler is the author of the first MATLAB, one of the founders of MathWorks, and is currently Chief Mathematician at the company. 249 | * [The MATLAB Blog](https://blogs.mathworks.com/matlab/) - Mike Croucher, a Customer Success Engineer at MathWorks, writes about MATLAB. 250 | * [Developer Zone](http://blogs.mathworks.com/developer/) - Developing, testing, and integrating production grade software using MATLAB. 251 | * [Guy and Seth on Simulink](http://blogs.mathworks.com/seth/) - Guy Rouleau and Seth Popinchalk are Application Engineers for MathWorks. 252 | * [Steve on Image Processing](http://blogs.mathworks.com/steve/) - Steve Eddins has developed MATLAB and image processing capabilities for MathWorks since 1993. 253 | * [Undocumented MATLAB](http://undocumentedmatlab.com) - Yair Altman blogs about the hidden underbelly of MATLAB®. This is the place to be for discovering new and awesome features. 254 | * [WalkingRandomly](http://www.walkingrandomly.com/?cat=11) - The MATLAB tag of WalkingRandomly. 255 | * [xcorr: comp neuro](http://xcorr.net/?s=matlab) - MATLAB relevant post of XCORR. 256 | * [Matlab Geeks](http://matlabgeeks.com/) - Matlab Blog, Tutorials and Expertise. 257 | 258 | ## Books 259 | 260 | * [Accelerating MATLAB Performance: 1001 tips to speed up MATLAB programs](https://www.crcpress.com/Accelerating-MATLAB-Performance-1001-tips-to-speed-up-MATLAB-programs/Altman/9781482211290) - A superb guide to making MATLAB code faster. 261 | * [Data-Driven Science and Engineering: Machine Learning, Dynamical Systems and Control](http://www.databookuw.com/) - 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. 262 | * [The Elements of MATLAB Style](http://www.cambridge.org/us/academic/subjects/computer-science/scientific-computing-scientific-software/elements-matlab-style) - Coding guidelines for the MATLAB language. 263 | * [MATLAB for Dummies](http://eu.wiley.com/WileyCDA/WileyTitle/productCd-111882010X.html) - A good beginners book. 264 | * [MATLAB Guide](http://www.ma.man.ac.uk/~higham/mg/) - By Desmond and Nicholas Higham. One of the best books for learning MATLAB 265 | * [Undocumented Secrets of MATLAB-Java Programming](https://www.crcpress.com/Undocumented-Secrets-of-MATLAB-Java-Programming/Altman/9781439869031#isbn) - A great guide on MATLAB® and its Java interface (e.g. for GUIs or interaction with JVM software). 266 | * [An Introduction to MATLAB for Behavioral Researchers](http://www.sagepub.com/books/Book239284) - Beginner book for those with no programming experience. Targeted to those in psychology/behavioural sciences and uses real experimental data in examples. 267 | 268 | ## Courseware 269 | 270 | *Materials developed to help you teach various subjects.* 271 | 272 | * [Computer Vision Basics](https://www.mathworks.com/matlabcentral/fileexchange/180661-computer-vision-basics) - This curriculum module contains interactive MATLAB live scripts centered on the fundamentals of image segmentation. 273 | * [Convolution in Digital Signal Processing](https://www.mathworks.com/matlabcentral/fileexchange/97112-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. 274 | 275 | ## Reference Cards 276 | 277 | * [Cheat Sheets for MATLAB and Simulink](https://www.mathworks.com/campaigns/products/cheat-sheets.html) - Use these cheat sheets as quick reference resources for MATLAB and Simulink. 278 | * [MATLAB Quick Reference](http://www.robots.ox.ac.uk/~dwm/Courses/1P5_2011/MatlabQuickRef1v1.pdf) - by Eric Peasley, Department of Engineering Science, University of Oxford 279 | 280 | ## Social Media 281 | 282 | * [MATLAB on Facebook](https://www.facebook.com/MATLAB) - Official Facebook page for MATLAB. 283 | * [MATLAB Reddit](https://www.reddit.com/r/matlab/) - MATLAB on Reddit. 284 | * [MATLAB on Stack Overflow](http://stackoverflow.com/questions/tagged/matlab) - Stack Overflow is a community of 4.7 million programmers, just like you, helping each other. 285 | * [MATLAB on Twitter](https://twitter.com/MATLAB) - Official MATLAB twitter account. 286 | * [Octave on Stack Overflow](http://stackoverflow.com/questions/tagged/octave) - Stack Overflow has an extensive back catalogue of many answered questions. 287 | * [Octave Reddit](https://www.reddit.com/r/octave/) - Octave on Reddit. 288 | 289 | ## MOOCs 290 | *Massive open online courses.* 291 | 292 | * [Linear Algebra: Foundations to Frontiers](http://www.ulaff.net/index.html) - Hands-on introduction to Linear Algebra using MATLAB. 293 | 294 | ## Tips and Tricks 295 | 296 | * [Advanced Programming Techniques in MATLAB](https://www.mathworks.com/content/dam/mathworks/mathworks-dot-com/campaigns/portals/files/intel/may-12-2015-advanced-matlab.pdf) - Slides by Loren Shure. 297 | * [Guidelines for writing clean and fast code in MATLAB](http://www.mathworks.com/matlabcentral/fileexchange/22943-guidelines-for-writing-clean-and-fast-code-in-matlab) - A guide with best practices in MATLAB® programming to which anybody can [contribute](https://github.com/nschloe/matlab-guidelines). 298 | * [Octave and MATLAB Snippets](https://git.io/mtips) - Collection of code snippets. 299 | * [knkutils](https://github.com/kendrickkay/knkutils) - MATLAB utility functions written by Kendrick Kay. 300 | * [Lanczos Algorithm for SVD](http://bickson.blogspot.de/2011/10/lanczos-algorithm-for-svd-singule-value.html) - MATLAB Code 301 | * [Jie Chen's Software](https://jie-chen-ibm.appspot.com/software.html) - Collection of companion codes (mostly MATLAB). 302 | * [SSP RK](http://sspsite.org/matlab_scripts.html) - Strong Stability Preserving Runge-Kutta Codes. 303 | * [BV78](http://faculty.smu.edu/shampine/current.html) - Shampine's Adaptive Block Vectorized Runge-Kutta 7-8. 304 | * [MATLAB Style Guidelines 2.0](http://www.datatool.com/downloads/MatlabStyle2%20book.pdf) - by R. Johnson. 305 | * [parrun.sh](https://gist.github.com/precisesimulation/94395a41e53abf01da4d073b3b746493) - MATLAB and OCTAVE Parallel Job Script. 306 | * [flamegraph](https://git.io/flamegraph) - Flame graph visualization for Octave's profiler output. 307 | * [mlintall](https://www.mathworks.com/matlabcentral/fileexchange/23786-recursive-mlint) - Recursive `mlint` 308 | 309 | 310 | # Contributing 311 | Your contributions are always welcome. Refer to the [contribution guidelines](https://github.com/mikecroucher/awesome-MATLAB/blob/main/Contributing.md) if you'd like to make a Pull Request. 312 | 313 | This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License - [CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/legalcode) 314 | -------------------------------------------------------------------------------- /license.md: -------------------------------------------------------------------------------- 1 | ## creative commons 2 | 3 | # Attribution-NonCommercial-ShareAlike 4.0 International 4 | 5 | Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. 6 | 7 | ### Using Creative Commons Public Licenses 8 | 9 | Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. 10 | 11 | * __Considerations for licensors:__ Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. [More considerations for licensors](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensors). 12 | 13 | * __Considerations for the public:__ By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. [More considerations for the public](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensees). 14 | 15 | ## Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License 16 | 17 | By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. 18 | 19 | ### Section 1 – Definitions. 20 | 21 | a. __Adapted Material__ means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. 22 | 23 | b. __Adapter's License__ means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. 24 | 25 | c. __BY-NC-SA Compatible License__ means a license listed at [creativecommons.org/compatiblelicenses](http://creativecommons.org/compatiblelicenses), approved by Creative Commons as essentially the equivalent of this Public License. 26 | 27 | d. __Copyright and Similar Rights__ means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. 28 | 29 | e. __Effective Technological Measures__ means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. 30 | 31 | f. __Exceptions and Limitations__ means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. 32 | 33 | g. __License Elements__ means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution, NonCommercial, and ShareAlike. 34 | 35 | h. __Licensed Material__ means the artistic or literary work, database, or other material to which the Licensor applied this Public License. 36 | 37 | i. __Licensed Rights__ means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. 38 | 39 | h. __Licensor__ means the individual(s) or entity(ies) granting rights under this Public License. 40 | 41 | i. __NonCommercial__ means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange. 42 | 43 | j. __Share__ means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. 44 | 45 | k. __Sui Generis Database Rights__ means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. 46 | 47 | l. __You__ means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. 48 | 49 | ### Section 2 – Scope. 50 | 51 | a. ___License grant.___ 52 | 53 | 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: 54 | 55 | A. reproduce and Share the Licensed Material, in whole or in part, for NonCommercial purposes only; and 56 | 57 | B. produce, reproduce, and Share Adapted Material for NonCommercial purposes only. 58 | 59 | 2. __Exceptions and Limitations.__ For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. 60 | 61 | 3. __Term.__ The term of this Public License is specified in Section 6(a). 62 | 63 | 4. __Media and formats; technical modifications allowed.__ The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. 64 | 65 | 5. __Downstream recipients.__ 66 | 67 | A. __Offer from the Licensor – Licensed Material.__ Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. 68 | 69 | B. __Additional offer from the Licensor – Adapted Material.__ Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply. 70 | 71 | C. __No downstream restrictions.__ You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. 72 | 73 | 6. __No endorsement.__ Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). 74 | 75 | b. ___Other rights.___ 76 | 77 | 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. 78 | 79 | 2. Patent and trademark rights are not licensed under this Public License. 80 | 81 | 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial purposes. 82 | 83 | ### Section 3 – License Conditions. 84 | 85 | Your exercise of the Licensed Rights is expressly made subject to the following conditions. 86 | 87 | a. ___Attribution.___ 88 | 89 | 1. If You Share the Licensed Material (including in modified form), You must: 90 | 91 | A. retain the following if it is supplied by the Licensor with the Licensed Material: 92 | 93 | i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); 94 | 95 | ii. a copyright notice; 96 | 97 | iii. a notice that refers to this Public License; 98 | 99 | iv. a notice that refers to the disclaimer of warranties; 100 | 101 | v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; 102 | 103 | B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and 104 | 105 | C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. 106 | 107 | 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. 108 | 109 | 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. 110 | 111 | b. ___ShareAlike.___ 112 | 113 | In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply. 114 | 115 | 1. The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-NC-SA Compatible License. 116 | 117 | 2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material. 118 | 119 | 3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply. 120 | 121 | ### Section 4 – Sui Generis Database Rights. 122 | 123 | Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: 124 | 125 | a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial purposes only; 126 | 127 | b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and 128 | 129 | c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. 130 | 131 | For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. 132 | 133 | ### Section 5 – Disclaimer of Warranties and Limitation of Liability. 134 | 135 | a. __Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.__ 136 | 137 | b. __To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.__ 138 | 139 | c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. 140 | 141 | ### Section 6 – Term and Termination. 142 | 143 | a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. 144 | 145 | b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: 146 | 147 | 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or 148 | 149 | 2. upon express reinstatement by the Licensor. 150 | 151 | For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. 152 | 153 | c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. 154 | 155 | d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. 156 | 157 | ### Section 7 – Other Terms and Conditions. 158 | 159 | a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. 160 | 161 | b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. 162 | 163 | ### Section 8 – Interpretation. 164 | 165 | a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. 166 | 167 | b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. 168 | 169 | c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. 170 | 171 | d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. 172 | 173 | ``` 174 | Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at [creativecommons.org/policies](http://creativecommons.org/policies), Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. 175 | 176 | Creative Commons may be contacted at creativecommons.org 177 | ``` 178 | --------------------------------------------------------------------------------