MATLAB Functions, Commands and Special Characters
- Page ID
- 86601
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)
( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\id}{\mathrm{id}}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\kernel}{\mathrm{null}\,}\)
\( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\)
\( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\)
\( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)
\( \newcommand{\vectorA}[1]{\vec{#1}} % arrow\)
\( \newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow\)
\( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vectorC}[1]{\textbf{#1}} \)
\( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)
\( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)
\( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)A PDF summary ("Cheat Sheet") of Basic MATLAB functions can be downloaded from this website:
The following is also a summary of common MATLAB functions by Brian Vick, Virginia Tech. There are more functions for specific MATLAB add-on toolboxes, which are not listed here.
MATLAB has additional, less common functions. You can use MATLAB's help or Octave's documentation if you need a specialized function. Also "MATLAB Central" has user contributed functions. It is at:
https://www.mathworks.com/matlabcentral/
General Purpose Commands
Operators and Special Characters
+ Plus; addition operator.
- Minus; subtraction operator.
* Scalar and matrix multiplication operator.
.* Array multiplication operator.
^ Scalar and matrix exponentiation operator.
.^ Array exponentiation operator.
\ Left-division matrix operator.
/ Right-division matrix operator.
.\ Array left-division operator.
./ Array right-division operator.
: Colon; generates regularly spaced elements and represents an entire row or column.
( ) Parentheses; encloses function arguments and array indices; overrides precedence.
[ ] Brackets; enclosures array elements.
. Decimal point.
… Ellipsis; line-continuation operator.
, Comma; separates statements and elements in a row.
; Semicolon; separates columns and suppresses display.
% Percent sign; designates a comment and specifies formatting.
' Quote sign and array or matrix transpose operator.
.' Nonconjugated array or matrix transpose operator.
= Assignment (replacement) operator.
Commands for Managing a Session
clc: Clears Command window.
clear: Removes variables from memory.
exist: Checks for existence of file or variable.
global: Declares variables to be global.
help: Searches for a help topic.
lookfor: Searches help entries for a keyword.
quit: Stops MATLAB.
who: Lists current variables.
whos: Lists current variables (long display).
Special Variables and Constants
ans: Most recent answer.
eps: Accuracy of floating-point precision.
i,j: The imaginary unit -1.
Inf or inf: Infinity.
NaN or nan: Not a Number (Undefined numerical result).
pi: The irrational number 3.141592653589793...
System and File Commands
cd: Changes current directory.
date: Displays current date.
delete: Deletes a file.
diary: Switches on/off diary file recording.
dir Lists all files in current directory.
load: Loads workspace variables from a file.
path: Displays search path.
pwd: Displays current directory.
save: Saves workspace variables in a file.
type: Displays contents of a file.
what: Lists all MATLAB files in the current directory.
wklread: Reads .wk1 spreadsheet file.
Input/Output and Formatting Commands
Input/Output Commands
disp: Displays contents of an array or string.
fscanf: Read formatted data from a file.
format: Controls screen-display format.
fprintf: Performs formatted writes to screen or file.
input: Displays prompts and waits for input.
; Suppresses screen printing.
Format Codes for fprintf and fscanf
%s Format as a string.
%d Format as an integer.
%f Format as a floating point value.
%e Format as a floating point value in scientific notation.
%g Format in the most compact form: %f or %e.
\n Insert a new line in the output string.
\t Insert a tab in the output string.
Numeric Display Formats
format short Four decimal digits (default).
format long 16 decimal digits.
format short e Five digits plus exponent.
format long e 16 digits plus exponents.
format bank Two decimal digits.
format + Positive, negative, or zero.
format rat Rational approximation.
format compact Suppresses some line feeds.
format loose Resets to less compact display mode.
Vector, Matrix and Array Commands
Array Commands
cat: Concatenates arrays.
find: Finds indices of nonzero elements.
length: Computers number of elements.
linspace: Creates regularly spaced vector.
logspace: Creates logarithmically spaced vector.
max: Returns largest element.
min: Returns smallest element.
prod: Product of each column.
reshape: Change size
size: Computes array size.
sort: Sorts each column.
sum: Sums each column.
Special Matrices
eye: Creates an identity matrix.
ones: Creates an array of ones.
zeros: Creates an array of zeros.
Matrix Arithmetic
cross: Computes cross products.
dot: Computes dot products.
Matrix Commands for Solving Linear Equations
det: Computes determinant of an array.
inv: Computes inverse of a matrix.
pinv: Computes pseudoinverse of a matrix.
rank: Computes rank of a matrix.
rref: Computes reduced row echelon form.
Cell Array Functions
cell: Creates cell array.
celldisp: Displays cell array.
cellplot: Displays graphical representation of cell array.
num2cell: Converts numeric array to cell array.
deal: Matches input and output lists.
iscell: Identifies cell array.
Structure Functions
fieldnames: Returns field names in a structure array.
getfield: Returns field contents of a structure array.
isfield: Identifies a structure array field.
isstruct: Identifies a structure array.
rmfield: Removes a field from a structure array.
setfield: Sets contents of field.
struct: Creates structure array.
Plotting Commands
Basic xy Plotting Commands
axis: Sets axis limits.
fplot: Intelligent plotting of functions.
grid: Displays gridlines.
plot: Generates xy plot.
print: Prints plot or saves plot to a file
title: Puts text at top of plot.
xlabel: Adds text label to x-axis.
ylabel: Adds text label to y-axis.
Plot Enhancement Commands
axes: Creates axes objects.
close: Closes the current plot.
close all: Closes all plots.
figure: Opens a new figure window.
gtext: Enables label placement by mouse.
hold: Freezes current plot.
legend: Create a plot legend
refresh: Redraws current figure window.
set: Specifies properties of objects such as axes.
subplot: Creates plots in subwindows.
text: Places string in figure.
Specialized Plot Commands
bar: Creates bar chart.
loglog: Creates log-log plot.
polar: Creates polar plot.
semilogx: Creates semilog plot (logarithmic abscissa).
semilogy: Creates semilog plot (logarithmic ordinate).
stairs: Creates stairs pot.
stem: Creates stem plot.
Colors, Symbols and Line Types
Color
k black
b blue
c cyan
m magenta
g green
r red
w white
y yellow
Symbol
. point
o circle
x x-mark
+ plus
* star
d diamond
v triangle (down)
^ triangle (up)
< triangle (left)
> triangle (right)
p pentagram
h hexagram
Line
- solid
: dotted
-. dash dotted
-- dashed
Three-Dimensional Plotting Commands
contour: Creates contour plot.
mesh: Creates three-dimensional mesh surface plot.
meshc: Same as mesh with contour plot underneath.
meshz: Same as mesh with vertical lines underneath.
plot3: Creates three-dimensional plots from lines and points.
surf: Creates shaded three-dimensional mesh surface plot.
surfc: Same as surf with contour plot underneath.
meshgrid: Creates rectangular grids of x and y values.
waterfall: Same as mesh with mesh lines in one direction.
zlabel: Adds text label to z-axis.
Histogram Functions
bar: Creates a bar chart.
hist: Aggregates the data into equally spaced bins. (old version)
histogram: Aggregates the data into equally spaced bins. (new version)
histc: Aggregates the data into unequally spaced bins.
Programming
Logical and Relational Operators
== Relational operator: equal to.
~= Relational operator: not equal to.
< Relational operator: less than.
<= Relational operator: less than or equal to.
> Relational operator: greater than.
>= Relational operator: greater than or equal to.
& Logical operator: AND.
| Logical operator: OR.
~ Logical operator: NOT.
xor Logical operator: EXCLUSIVE OR.
Program Flow Control
break: Terminates execution of a loop.
case: Provides alternate execution paths within switch structure.
else: Delineates alternate block of statements.
elseif: Conditionally executes statements.
end: Terminates for, while, and if statements.
error: Display error messages.
for: Repeats statements a specific number of times
if: Executes statements conditionally.
otherwise: Default part of switch statement.
return: Return to the invoking function.
switch: Directs program execution by comparing point with case expressions.
warning: Display a warning message.
while: Repeats statements an indefinite number of times.
Logical Functions
any: True if any elements are nonzero.
all: True if all elements are nonzero.
find: Finds indices of nonzero elements.
finite: True if elements are finite.
isnan: True if elements are undefined.
isinf: True if elements are infinite.
isempty: True if matrix is empty.
isreal: True if all elements are real.
M-Files
eval: Interpret strings containing Matlab expressions.
feval: Function evaluation.
function: Creates a user-defined function M-file.
global: Define global variables.
nargin: Number of function input arguments.
nargout: Number of function output arguments.
script: Script M-files
Timing
cputime: CPU time in seconds.
clock: Current date and time as date vector.
tic, toc: Start, stop a stopwatch timer.
Mathematical Functions
Exponential and Logarithmic Functions
exp(x): Exponential; ex.
log(x): Natural logarithm; ln(x).
log10(x): Common (base 10) logarithm;
Trigonometric Functions
acos(x) Inverse cosine; arcos x = cos –1 (x).
acot(x) Inverse cotangent; arccot x = cot –1(x).
acsc(x) Inverse cosecant; arcs x = csc –1 (x).
asec(x) Inverse secant; arcsec x = sec –1 (x).
asin(x) Inverse sine; arcsin x = sin –1 (x).
atan(x) Inverse tangent; arctan x = tan –1 (x).
atan2(y,x) Four-quadrant inverse tangent.
cos(x) Cosine; cos(x).
cot(x) Cotangent; cot(x).
csc(x) Cosecant; csc(x).
sec(x) Secant; sec(x).
sin(x) Sine; sin(x).
tan(x) Tangent; tan(x).
Hyperbolic Functions
acosh(x) Inverse hyperbolic cosine; cosh –1 (x).
acoth(x) Inverse hyperbolic cotangent; coth –1 (x).
acsch(x) Inverse hyperbolic cosecant; csch –1 (x).
asech(x) Inverse hyperbolic secant; sech –1 (x).
asinh(x) Inverse hyperbolic sine; sinh –1 (x).
atanh(x) Inverse hyperbolic tangent; tanh –1 (x).
cosh(x) Hyperbolic cosine; cosh(x).
coth(x) Hyperbolic cotangent; cosh(x)/sinh(x).
csch(x) Hyperbolic cosecant; 1/sinh(x).
sech(x) Hyperbolic secant; 1/cosh(x).
sinh(x) Hyperbolic sine; sinh(x).
tanh(x) Hyperbolic tangent; sinh(x)/cosh(x).
Complex Functions
abs(x) Absolute value; |x|.
angle(x) Angle of a complex number x.
conj(x) Complex conjugate of x.
imag(x) Imaginary part of a complex number x.
real(x) Real part of a complex number x.
Statistical Functions
erf(x): Computes the error function erf (x).
mean: Calculates the average.
median: Calculates the median.
std: Calculates the standard deviation.
Random Number Functions
rand: Generates uniformly distributed random numbers between 0 and 1.
randi(IMAX): Generates uniformly distributed random integers between 1 and IMAX.
randn: Generates normally distributed random numbers.
Numeric Functions
ceil: Rounds to the nearest integer toward +infinity.
fix: Rounds to the nearest integer toward zero.
floor: Rounds to the nearest integer toward infinity.
round: Rounds towards the nearest integer.
sign: Signum function. (-1, 0, or 1)
String Functions
findstr: Finds occurrences of a string.
strcmp: Compares strings.
char: Creates character string array
Numerical Methods
Polynomial and Regression Functions
conv: Computes product of two polynomials (convolution)
deconv: Computes ratio of polynomials.
eig: Computes the eigenvalues of a matrix.
poly: Computes polynomial from roots.
polyfit: Fits a polynomial to data.
polyval: Evaluates polynomial and generates error estimates.
roots: Computes polynomial roots.
Interpolation Functions
interp1: Linear and cubic-spline interpolations of a function of one variable.
interp2: Linear interpolation of a function of two variables.
spline: Cubic-spline interpolation.
unmkpp: Computes the coefficients of cubic-spine polynomials.
Root Finding and Minimization
fmin: Finds minimum of single-variable function.
fmins: Finds minimum of multivariable function.
fzero: Finds zero of single-variable function.
Numerical Integration Functions
integral: Numerical integration (newer, nominal default)
quad: Numerical integration with adaptive Simpson’s rule. (older)
quadl: Numerical integration with adaptive Lobatto quadrature. (older)
trapz: Numerical integration with the trapezoidal rule.
Numerical Differentiation Functions
diff(x): Computes the difference between adjacent elements in the vector x.
polyder: Differentiates a polynomial, a polynomial product, or a polynomial quotient.
gradient(y,x): Computes dy/dx
ODE Solvers
ode23: Nonstiff, low-order solver.
ode45: Nonstiff, medium-order solver. (most common)
ode113: Nonstiff, variable-order solver.
ode23s: Stiff, low-order.
ode23t: Moderately stiff, trapezoidal rule solver.
ode23b: Stiff, low-order solver.
ode15s: Stiff, variable-order solver.
odeset: Creates integrator options structure for ODE solvers.
Predefined Input Functions
gensig: Generates a periodic sine, square, or pulse input.
sawtooth: Generates a periodic sawtooth input.
square: Generates a square wave input.
stepfun: Generates a step function input.