Datatool
Specializing in data analysis and visualization with MATLAB
 

Home
Training Courses
Software Development
resources
Contact Us
 


The Elements of MATLAB Style

This is the only book devoted to MATLAB style and best practices, focusing on how MATLAB code can be written to maximize its effectiveness.

Key Elements

  • Formatting
  • Naming
  • Documentation
  • Programming
  • Testing



MATLAB Programming Style Guidelines

Advice on writing MATLAB code usually addresses efficiency concerns, with recommendations such as "Don't use loops." This document is different. Its concerns are correctness and clarity. The goal of these guidelines is to help you produce code that is more likely to be correct, understandable, sharable and maintainable. This white paper is a smaller, older, and less complete forerunner of the book.

Key Elements

  • Naming conventions
  • Language usage
  • Layout and comments

Download MATLAB Style Guidelines (Revised V1.5), (93 KB PDF file)

Look for a revised version in late 2011.

Feedback on the guidelines:

I thought this document encapsulated a boat load of good advice relevant for many programming languages, and included some nice MATLAB specific hints.
_ Penny Anderson

Really helpful. everybody should read something like this before starting any coding ! (Now, it's my turn to review everything that I did)
_ Frederic Bosche

This pdf file is easy understood and it's especially useful for MATLAB experienced programmers. The guidelines helped me to construct a more standardized, easy-maintained programs. No matter what kind of language you are using, there will be some concepts you can refer to.
_ Fu-Sung Wang

Clear, concise and reasonable. Should be a lot of help to me (and others). Thanks.
_ Richard Kirkeeide

Concise and thorough
_ William Zimmerman

Useful, short document that reminds one of all the things they should already do, but probably don't.
_ Mark Newton

An excellent collection, great for beginning or intermediate Matlab coders.
_ Michael Villalba

Great & Appreciated Guidelines! I hope I can follow all of them!
_ Fahad Al Mahmood

Very helpful. I typically write in MATLAB, and I haven't read about style guidelines before. This will help me write more readable and more maintainable MATLAB code.
_ B G

Great work. The document is well-written and spot-on. A much-needed addition to the MATLAB community.
_ Matthew Simoneau

MATLAB and TDD


MATLAB code is often written without the benefit of a software development methodology.  Agile Programming is a lightweight methodology that is well suited to MATLAB development. Test-Driven Development is a core agile practice that can help produce better code.

Key Steps

  • Write a test based on a user story.
  • Write just enough code to pass the test.
  • Refactor for a better design.
  • Repeat.

Download MATLAB and TDD, (118 KB PDF file)


MATLAB Data Containers


MATLAB has four array types plus objects. All of these have a role to play in working with data. The choice of the type of data container to use can have a big impact on your code. This paper discusses the options and provides examples of their use. It is mostly at an introductory to intermediate level with some tips for more advanced use.

Key Elements

  • Use numeric arrays whenever they are good enough.
  • Use cell arrays primarily for character strings.
  • Use structures to bundle multiple data types or multiple arrays into a single variable.
  • Use objects to limit access to and manipulation of data.

Download MATLAB Data Containers, (105 KB PDF file)


Data Visualization Toolbox for MATLAB

MATLAB EnabledMATLAB software implementing and extending the analytical and graphical methods for data analysis and visualization described in William S. Cleveland's Visualizing Data.

Key Benefits

  • Analysis using robust statistical methods.
  • Graphical methods for data exploration.
  • Diagnostics for fit and model evaluation.

This software is included in the training classes.

Feedback on the toolbox:

Its great software thank you.
_James McEwan, University of Waikato

Great job.
_Lennard van der Hulst, Ingenieursbureau S.D. Kamminga BV

Very good work! Congratulations.
_Tom Bryan, The MathWorks, Inc.

Cool M-files
_Steve Lord, The MathWorks, Inc.

Magnificent job.
_Diego Holmgren, San Francisco State University

 

Datatool