MATLAB Quick Reference
This quick reference collects the MATLAB syntax you reach for constantly: array creation and indexing, control-flow keywords, function definitions, and the most commonly used built-in functions for I/O and data inspection. It is meant as a lookup sheet rather than a tutorial, useful for confirming exact syntax (is it elseif or else if? is it end or endfor?) rather than relearning concepts from scratch. Keep in mind that MATLAB is case-sensitive throughout, and every code block ends with the single keyword end, regardless of whether it closes a for, while, if, switch, or function.
Cricket analogy: A wicketkeeper glances at a laminated field-placement card taped to their pad mid-match to confirm the agreed signal for a specific field change rather than relearning the whole strategy, similar to using a MATLAB quick reference to confirm exact syntax rather than relearning concepts.
Arrays, Indexing, and Operators
Arrays are created with square brackets, [1 2 3] for a row vector and [1;2;3] for a column vector, or [1 2; 3 4] for a 2x2 matrix using semicolons to separate rows. Indexing uses parentheses, not square brackets: A(2,3) accesses the element in row 2, column 3, A(:,1) selects the entire first column, and A(end,:) selects the last row using the special keyword end. Common operators split into matrix versions and elementwise versions: * is matrix multiplication while .* is elementwise multiplication, and the same distinction applies to / vs ./ and ^ vs .^, a distinction that trips up nearly every beginner at least once.
Cricket analogy: A scorer records a shot's exact coordinates on the field, row and column of the grid, using a fixed notation system, similar to indexing a MATLAB matrix with A(row,col) using parentheses rather than square brackets.
% Arrays and indexing
v = [1 2 3 4 5]; % row vector
col = [1; 2; 3]; % column vector
A = [1 2; 3 4]; % 2x2 matrix
A(2,1) % -> 3 (row 2, col 1)
A(:,1) % -> [1;3] (entire first column)
v(end) % -> 5 (last element)
% Elementwise vs matrix operators
B = A .* A; % elementwise multiply
C = A * A; % matrix multiply
% Control flow
for i = 1:3
if mod(i,2) == 0
fprintf('%d is even\n', i);
elseif i == 1
fprintf('%d is one\n', i);
else
fprintf('%d is odd\n', i);
end
end
% Function definition (in its own .m file or as a local function)
function y = square(x)
y = x.^2;
end
Control Flow, Functions, and Common Built-ins
Control flow keywords are for, while, if/elseif/else, and switch/case, and every block, no matter which keyword opened it, closes with a single end. Functions are declared with function [out1, out2] = name(in1, in2), supporting multiple return values that the caller can selectively capture, for example [~, idx] = max(v) discards the max value and keeps only its index using the tilde placeholder. Common built-in functions worth memorizing include size(), length(), numel(), zeros(), ones(), linspace(), reshape(), sort(), find(), and for input/output, disp(), fprintf(), and the debugging pair save()/load() for persisting workspace variables to a .mat file between sessions.
Cricket analogy: A captain calls for a DRS review but only cares about the final decision, not the ball-tracking details, similar to using [~, idx] = max(v) in MATLAB to discard the value and keep only the index.
The tilde ~ as a function output placeholder (e.g., [~, idx] = max(v)) was introduced in MATLAB R2009b and is the idiomatic way to discard an output you don't need without creating an unused variable; it also works as a placeholder for an input argument you intentionally ignore inside a function definition.
- Row vectors use spaces or commas inside brackets ([1 2 3]); column vectors use semicolons ([1;2;3]); matrices combine both ([1 2; 3 4]).
- Indexing uses parentheses, not square brackets: A(row,col), with A(:,1) selecting a whole column and A(end,:) selecting the last row.
- Elementwise operators (.*, ./, .^) differ from matrix operators (*, /, ^); confusing the two is a very common beginner error.
- Every control-flow block (for, while, if, switch, function) closes with the single keyword end, regardless of which keyword opened it.
- Functions can return multiple outputs, e.g. function [out1,out2] = name(in1,in2), and the tilde ~ placeholder discards an unwanted output.
- Core built-ins to know: size(), length(), numel(), zeros(), ones(), linspace(), reshape(), sort(), find().
- save()/load() persist workspace variables to a .mat file, useful for checkpointing long-running scripts between sessions.
Practice what you learned
1. How do you access the element in row 2, column 3 of a MATLAB matrix A?
2. What is the difference between * and .* on two matrices A and B of the same size in MATLAB?
3. Which single keyword closes a for loop, an if statement, and a function definition in MATLAB?
4. What does the tilde in `[~, idx] = max(v)` accomplish?
5. Which function saves MATLAB workspace variables to a .mat file for later use?
Was this page helpful?
You May Also Like
MATLAB Best Practices
Practical habits for writing fast, readable, maintainable MATLAB code: preallocation, vectorization, function structure, and debugging discipline.
MATLAB Interview Questions
Common MATLAB interview topics and question patterns, covering language fundamentals, vectorization under pressure, and toolbox/OOP fluency.
MATLAB vs Python for Numerical Computing
A practical comparison of MATLAB and Python for engineering and scientific computing, covering syntax, performance, toolboxes, cost, and when to choose each.
Related Reading
Related Study Notes in Programming
Browse all study notesApache Spark Study Notes
Programming · 30 topics
ProgrammingApache Flink Study Notes
Programming · 30 topics
ProgrammingHadoop Study Notes
Programming · 30 topics
ProgrammingSnowflake Study Notes
Programming · 30 topics
ProgrammingApache Airflow Study Notes
Programming · 30 topics
Programmingdbt (Data Build Tool) Study Notes
Programming · 30 topics