repliMAT: A Guide to Reproducible MATLAB

Author

David Wilby

Published

3 May, 2024

Welcome!

Welcome to repliMAT!

🚧 This book is very much under development 🚧

This is a resource for learning and teaching about developing reproducible and sustainable code in the MATLAB programming language.

Here you will find content, exercises and videos intended to either be followed alone or with a group, or taught as part of a workshop.

The materials are primarily aimed at researchers and their specific demands, but should be applicable to all uses of MATLAB.

How to use this guide

This guide is split into two main parts: a reference guide and a set of exercises.

The intention is for the reference guide (begin here) to act as a place to learn about the reasoning behind concepts in reproducible MATLAB project design, as well as somewhere to come back to as a reference when working on your own project.

The exercises are a worked-through set of examples that can either be taught as part of a workshop or followed on your own.

The third part of these two main parts (πŸ™„) is the extra credit section, containing concepts that aren’t absolutely essential for reproducibility, but are considered good/excellent practice in programming.

Contributing

Contributions to the repliMAT materials are welcomed! Please follow the guidance below prior to making contributions to ensure that your kind efforts do not go to waste.

The project’s source code and development is managed at its GitHub repository. There are a few ways to contribute, depending on whether you want to make changes to the source code or not.

In all interactions, please abide by the code of conduct

Issues

Open a new issue to describe a bug, error or to request changes.

Contributing code

If contributing source code changes to the project please follow the following workflow:

  1. Make a fork of the repository on GitHub.
  2. Clone your fork to your local machine and make a new branch with a name relevant to the task you’re working on.
  3. Make some changes and ensure that the pages render as expected by following the instructions in the README to render the materials.
  4. Commit those changes with meaningful commit messages.
  5. Push your branch to GitHub and open a pull request against the upstream repository’s main branch.
  6. In the pull request description, please reference the issue that you are resolving.
  7. Someone will review your pull request and hopefully it will be merged! πŸŽ‰

Contributors

David Wilby
David Wilby

πŸ€” πŸ’» πŸ–‹ 🚧
Dan Cummins
Dan Cummins

πŸ–‹ πŸ’»
Michael Tso
Michael Tso

πŸ–‹ πŸ’»
Patrick J. Roddy
Patrick J. Roddy

πŸ–‹ πŸ’»
Gaurav Bhalerao
Gaurav Bhalerao

πŸ–‹ πŸ’»