MATLAB Programming/Comments

Placing comments


Comment lines begin with the character '%', and anything after a '%' character is ignored by the interpreter. The % character itself only tells the interpreter to ignore the remainder of the same line.

In the MATLAB Editor, commented areas are printed in green by default, so they should be easy to identify. There are two useful keyboard shortcuts for adding and removing chunks of comments. Select the code you wish to comment or uncomment, and then press Ctrl-R (-/ for Mac) to place one '%' symbol at the beginning of each line and Ctrl-T (-T for Mac) to do the opposite.

MATLAB also supports multi-line comments, akin to /* ... */ in languages like C or C++, via the %{ and %} delimiters. But there is a small and important difference. In MATLAB it is not allowed that the lines starting with %{ or %} contains any other text (except white spaces). Otherwise it would not work. E.g.

%{ for i = 1:10
end %}

gives an error, but

for i = 1:10

works just fine.

Common uses


Comments are useful for explaining what function a certain piece of code performs especially if the code relies on implicit or subtle assumptions or otherwise perform subtle actions. Doing this is a good idea both for yourself and for others who try to read your code. For example,

% Calculate average velocity, assuming acceleration is constant
% and a frictionless environment.
force = mass * acceleration

It is common and highly recommended to include as the first lines of text a block of comments explaining what an M file does and how to use it. MATLAB will output the comments leading up to the function definition or the first block of comments inside a function definition when you type:

>> help functionname

All of MATLAB's own functions written in MATLAB are documented this way as well.

Comments can also be used to identify authors, references, licenses, and so on. Such text is often found at the end of an M file though also can be found at the beginning. Finally, comments can be used to aid in debugging, as explained in Debugging M Files.