I’ve enjoyed providing training and programming to my great clients, but it’s time to move on. Meanwhile, this page points to information that will help you become a better MATLAB programmer.

MATLAB Style Book

I wrote the book on MATLAB style! 

Using The Elements of MATLAB Style will help you produce code that is more likely to be correct, understandable, sharable and maintainable.
An update document is available covering changes through R2019a.

MATLAB Programming Resources

Agile Programming is becoming a standard methodology in software development, but it is new to many MATLAB programmers. Test-Driven Development is one of the core agile practices, and it is discussed in  MATLAB and TDD , (PDF)

MATLAB provides several array types that you can use to hold data. Which type do you use when? MATLAB Data Containers (PDF) provides guidelines and examples. 


The table class was introduced in R2013b and is very useful for working with rectangular arrays of numerical and character data. These papers discuss table features and provide examples of their use.

MATLAB Table Fundamentals, (PDF)

MATLAB Table Programming, (PDF)

MATLAB Source Control

Source control using Git was integrated into MATLAB starting with R2014b. The MATLAB documentation is probably fine after you have mastered it. Meanwhile here is a tutorial to get you started.

MATLAB Source Control With Git, (PDF)

Coding Checklist

Use a checklist to produce quality code.

Coding Checklist, (PDF)

Manta ray

People believe that the spot pattern on the ventral side of manta rays is unique to each individual. The project was to develop an algorithm and software that would match up photos from different sightings of the same ray. The image collection was too small for machine learning, so I used traditional methods.


You can email me using the name richj at this domain.