MATLAB Programming Style Guide
MATLAB Programming Style Guide
MATLAB Programming Style Guide
A style guide is a set of conventions a programmer follows to standardize their computer code to some degree and to make the program easier to read and interpret. It will allow you to quickly understand what you did in your program when you look at it in the future. The goal is for your programs to be well-designed, well-documented and readable. Style Guidelines m-files All m-files will have the following documentation/comments (must have a % in column 1 so MATLAB knows it is a comment): Line 1 for script m-file: name of m-file The first line in function m-files has a mandatory structure! o The first line of a function is a declaration line. It has the word function in it to identify the file as a function rather than a generic m-file. i.e., a function named abs_error.m, the first line would read: function [X,Y] = abs_error(A,B) A block of comments (denoted as such with a %) should be placed at the top of regular m-files, and just after the function definition in function m-files. This is the header comment block which should include: o Line 2: name and date o Line 3: course and lab/project o Purpose of the program o List of variable names, description and units o List of functions called in the script if none, say none The script will be commented throughout to explain each step Add blank lines/white space for readability
Script Example:
% filename = lab4.m % J. Beattie 10 Jan 2009 % SO414 Lab 4 % % Purpose: Calculate relative humidity % % Variables: % tmpc = Temperature (C) % dwpc = Dew Point Temperature (C) % relh = Relative humidity % % Functions called: % rel_humidity.m %---------------------------------------------% begin script (example purpose only) tmpc = [10 14 20; -1 5 -3]; dwpc = [9.6 8 5; 8 5.0 -1]; [relh] = rel_humidity (tmpc, dwpc);
Function example:
function f=rho(S,T,p) % function name = rho.m % J. Beattie 10 Jan 09 % SO414 Lab 2 % % Purpose: Creates a function to calculate density
Etc Comments Any line beginning with a % is considered a comment and will be ignored by MATLAB. Comments describe parts of the code, assumptions, thought processes and/or design decisions. They should be placed above the part of the code you are attempting to document. Indenting Indentations are used for repeating logic structures (for and while loops) Use the space bar to indent versus the tab key You must indent for loops, if blocks and embedded loops for i=1:n disp(in loop) if data (i) < x disp(less than x) else disp(greater than or equal to X)
end count = count +1; end Variable Names Variables should have meaningful names. This makes your code easier for you, and others, to read. Keep variable names to less than 15 characters; MATLAB has a 63 character limit, but you do not want to obscure your code with long variable names All variables must start with a character, not a number Be cautious of naming variables that may conflict with MATLAB built-in functions or reserved names (log, exp, sin, cos, pi, end, etc) Avoid names that differ only in case, that look similar, or only differ slightly from each other
General Be careful what numbers you hardwire into your program. You may want to assign a constant number to a variable. o If you need to change the value of the constant before you re-run the program, you can change the number in one place, rather than several. o For example, g = 9.8 and use g, versus typing 9.8 in each equation. o If you do hardwire a number, put it in the header of the mfile and state the number of times it is used in the script so you can change it later if needed. Only put one executable statement per line in your m-files Make good use of white space for readability MATLAB can read up to 80 characters on one line. If you find that you need to use a second line, use the ellipse () to tell MATLAB to continue that command on the next line