# MATLAB Functions, Commands and Special Characters

$$\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}}$$

By Brian Vick, Virginia Tech

A summary of common MATLAB commands and functions is given here. It is also attached as a file.

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

-  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

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.
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.

## 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

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

- 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.
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).
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)

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.

### 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.