Functions

Language Fundamentals

Entering Commands

 ans Most recent answer clc Clear Command Window diary Save Command Window text to file format Set Command Window output display format home Send cursor home iskeyword Determine whether input is MATLAB keyword more Control paged output for Command Window

Matrices and Arrays

Array Creation and Concatenation

 accumarray Construct array with accumulation blkdiag Construct block diagonal matrix from input arguments diag Create diagonal matrix or get diagonal elements of matrix eye Identity matrix false Logical 0 (false) freqspace Frequency spacing for frequency response linspace Generate linearly spaced vector logspace Generate logarithmically spaced vectors meshgrid Rectangular grid in 2-D and 3-D space ndgrid Rectangular grid in N-D space ones Create array of all ones rand Uniformly distributed random numbers true Logical 1 (true) zeros Create array of all zeros cat Concatenate arrays along specified dimension horzcat Concatenate arrays horizontally vertcat Concatenate arrays vertically

Indexing

 colon Create vectors, array subscripting, and for-loop iterators end Terminate block of code, or indicate last array index ind2sub Subscripts from linear index sub2ind Convert subscripts to linear indices

Array Dimensions

 length Length of largest array dimension ndims Number of array dimensions numel Number of array elements size Array dimensions height Number of table rows width Number of table variables iscolumn Determine whether input is column vector isempty Determine whether array is empty ismatrix Determine whether input is matrix isrow Determine whether input is row vector isscalar Determine whether input is scalar isvector Determine whether input is vector

Sorting and Reshaping Arrays

 blkdiag Construct block diagonal matrix from input arguments circshift Shift array circularly ctranspose Complex conjugate transpose diag Create diagonal matrix or get diagonal elements of matrix flip Flip order of elements fliplr Flip array left to right flipud Flip array up to down ipermute Inverse permute dimensions of N-D array permute Rearrange dimensions of N-D array repelem Repeat copies of array elements repmat Repeat copies of array reshape Reshape array rot90 Rotate array 90 degrees shiftdim Shift dimensions issorted Determine whether set elements are in sorted order sort Sort array elements sortrows Sort array rows squeeze Remove singleton dimensions transpose Transpose vectorize Vectorize expression

Operators and Elementary Operations

Arithmetic

 plus Addition uplus Unary plus minus Subtraction uminus Unary minus times Element-wise multiplication rdivide Right array division ldivide Left array division power Element-wise power mtimes Matrix Multiplication mrdivide Solve systems of linear equations xA = B for x mldivide Solve systems of linear equations Ax = B for x mpower Matrix power cumprod Cumulative product cumsum Cumulative sum diff Differences and Approximate Derivatives prod Product of array elements sum Sum of array elements ceil Round toward positive infinity fix Round toward zero floor Round toward negative infinity idivide Integer division with rounding option mod Remainder after division (modulo operation) rem Remainder after division round Round to nearest decimal or integer

Relational Operations

 Relational Operators Relational operations eq Determine equality ge Determine greater than or equal to gt Determine greater than le Determine less than or equal to lt Determine less than ne Determine inequality isequal Determine array equality isequaln Determine array equality, treating NaN values as equal

Logical Operations

 Logical Operators: Short-circuit Logical operations with short-circuiting and Find logical AND not Find logical NOT or Find logical OR xor Logical exclusive-OR all Determine if all array elements are nonzero or true any Determine if any array elements are nonzero false Logical 0 (false) find Find indices and values of nonzero elements islogical Determine if input is logical array logical Convert numeric values to logicals true Logical 1 (true)

Set Operations

 intersect Set intersection of two arrays ismember Array elements that are members of set array ismembertol Set ismember within tolerance issorted Determine whether set elements are in sorted order setdiff Set difference of two arrays setxor Set exclusive OR of two arrays union Set union of two arrays unique Unique values in array uniquetol Set unique within a tolerance join Merge two tables by matching up rows using key variables innerjoin Inner join between two tables outerjoin Outer join between two tables

Bit-Wise Operations

 bitand Bit-wise AND bitcmp Bit-wise complement bitget Get bit at specified position bitor Bit-wise OR bitset Set bit at specific location bitshift Shift bits specified number of places bitxor Bit-wise XOR swapbytes Swap byte ordering

Special Characters

 Special Characters Special characters colon Create vectors, array subscripting, and for-loop iterators

Data Types

Numeric Types

 double Convert to double precision single Convert to single precision int8 Convert to 8-bit signed integer int16 Convert to 16-bit signed integer int32 Convert to 32-bit signed integer int64 Convert to 64-bit signed integer uint8 Convert to 8-bit unsigned integer uint16 Convert to 16-bit unsigned integer uint32 Convert to 32-bit unsigned integer uint64 Convert to 64-bit unsigned integer cast Cast variable to different data type typecast Convert data types without changing underlying data isinteger Determine if input is integer array isfloat Determine if input is floating-point array isnumeric Determine if input is numeric array isreal Determine whether array is real isfinite Array elements that are finite isinf Array elements that are infinite isnan Array elements that are NaN eps Floating-point relative accuracy flintmax Largest consecutive integer in floating-point format Inf Infinity intmax Largest value of specified integer type intmin Smallest value of specified integer type NaN Not-a-Number realmax Largest positive floating-point number realmin Smallest positive normalized floating-point number

Characters and Strings

Create and Concatenate Strings
 blanks Create string of blank characters cellstr Convert to cell array of strings char Convert to character array (string) iscellstr Determine whether input is cell array of strings ischar Determine whether item is character array sprintf Format data into string strcat Concatenate strings horizontally strjoin Join strings in cell array into single string
Parse Strings
 ischar Determine whether item is character array isletter Array elements that are alphabetic letters isspace Array elements that are space characters isstrprop Determine whether string is of specified category sscanf Read formatted data from string strfind Find one string within another strrep Find and replace substring strsplit Split string at specified delimiter strtok Selected parts of string validatestring Check validity of text string symvar Determine symbolic variables in expression regexp Match regular expression (case sensitive) regexpi Match regular expression (case insensitive) regexprep Replace string using regular expression regexptranslate Translate string into regular expression
Compare Strings
 strcmp Compare strings strcmpi Compare strings (case insensitive) strncmp Compare first n characters of strings (case sensitive) strncmpi Compare first n characters of strings (case insensitive)
Change String Case, Blanks, and Justification
 blanks Create string of blank characters deblank Strip trailing blanks from end of string strtrim Remove leading and trailing white space from string lower Convert string to lowercase upper Convert string to uppercase strjust Justify character array

Dates and Time

Create Date and Time Arrays
 datetime Create array based on current date, or convert from date strings or numbers years Duration in years days Duration in days hours Duration in hours minutes Duration in minutes seconds Duration in seconds milliseconds Duration in milliseconds duration Create duration array from numeric values calyears Calendar duration in years calquarters Calendar duration in quarters calmonths Calendar duration in months calweeks Calendar duration in weeks caldays Calendar duration in days calendarDuration Create calendar duration array from numeric values exceltime Convert MATLAB datetime to Excel date number juliandate Convert MATLAB datetime to Julian date posixtime Convert MATLAB datetime to POSIX time yyyymmdd Convert MATLAB datetime to YYYYMMDD numeric value
Components of Dates and Time
 year Year number quarter Quarter number month Month number and name week Week number day Day number or name hour Hour number minute Minute number second Second number ymd Year, month, and day numbers of datetime hms Hour, minute, and second numbers of duration split Split calendar duration into numeric and duration units time Convert time of calendar duration to duration timeofday Convert time of datetime to duration isdst Determine daylight saving time elements isweekend Determine weekend elements tzoffset Time zone offset from UTC
Date and Time Arithmetic and Plotting
 between Calendar math differences caldiff Calendar math successive differences dateshift Shift date or generate sequence of dates and time isbetween Determine elements within date and time interval isdatetime Determine if input is datetime array isduration Determine if input is duration array iscalendarduration Determine if input is calendar duration array isnat Determine NaT (Not-a-Time) elements
Dates and Time as Numbers and Strings
 datenum Convert date and time to serial date number datevec Convert date and time to vector of components datestr Convert date and time to string format char Convert to character array (string) cellstr Convert to cell array of strings now Current date and time as serial date number clock Current date and time as date vector date Current date string calendar Calendar for specified month eomday Last day of month weekday Day of week addtodate Modify date number by field etime Time elapsed between date vectors

Categorical Arrays

 categorical Create categorical array iscategorical Determine whether input is categorical array categories Categories of categorical array iscategory Test for categorical array categories isordinal Determine whether input is ordinal categorical array isprotected Determine whether categories of categorical array are protected addcats Add categories to categorical array mergecats Merge categories in categorical array removecats Remove categories from categorical array renamecats Rename categories in categorical array reordercats Reorder categories in categorical array setcats Set categories in categorical array summary Print summary of table or categorical array countcats Count occurrences of categorical array elements by category isundefined Find undefined elements in categorical array

Tables

 table Create table from workspace variables array2table Convert homogeneous array to table cell2table Convert cell array to table struct2table Convert structure array to table table2array Convert table to homogeneous array table2cell Convert table to cell array table2struct Convert table to structure array readtable Create table from file writetable Write table to file istable Determine whether input is table height Number of table rows width Number of table variables summary Print summary of table or categorical array intersect Set intersection of two arrays ismember Array elements that are members of set array setdiff Set difference of two arrays setxor Set exclusive OR of two arrays unique Unique values in array union Set union of two arrays join Merge two tables by matching up rows using key variables innerjoin Inner join between two tables outerjoin Outer join between two tables sortrows Sort array rows stack Stack data from multiple variables into single variable unstack Unstack data from single variable into multiple variables ismissing Find table elements with missing values standardizeMissing Insert missing value indicators into table varfun Apply function to table variables rowfun Apply function to table rows

Structures

 struct Create structure array fieldnames Field names of structure, or public fields of object getfield Field of structure array isfield Determine whether input is structure array field isstruct Determine whether input is structure array orderfields Order fields of structure array rmfield Remove fields from structure setfield Assign values to structure array field arrayfun Apply function to each element of array structfun Apply function to each field of scalar structure table2struct Convert table to structure array struct2table Convert structure array to table cell2struct Convert cell array to structure array struct2cell Convert structure to cell array

Cell Arrays

 cell Create cell array cell2mat Convert cell array to ordinary array of the underlying data type cell2struct Convert cell array to structure array cell2table Convert cell array to table celldisp Display cell array contents cellfun Apply function to each cell in cell array cellplot Graphically display structure of cell array cellstr Convert to cell array of strings iscell Determine whether input is cell array iscellstr Determine whether input is cell array of strings mat2cell Convert array to cell array with potentially different sized cells num2cell Convert array to cell array with consistently sized cells strjoin Join strings in cell array into single string strsplit Split string at specified delimiter struct2cell Convert structure to cell array table2cell Convert table to cell array

Function Handles

 function_handle (@) Handle used in calling functions indirectly feval Evaluate function func2str Construct function name string from function handle str2func Construct function handle from function name string localfunctions Function handles to all local functions in MATLAB file functions Information about function handle

Map Containers

 containers.Map Map values to unique keys isKey Determine if containers.Map object contains key keys Identify keys of containers.Map object remove Remove key-value pairs from containers.Map object values Identify values in containers.Map object

Time Series

Time Series Basics
 append Concatenate time series objects in time dimension get Query timeseries object property values getdatasamplesize Size of data sample in timeseries object getqualitydesc Data quality descriptions getsamples Subset of time series samples using subscripted index array plot Plot time series set Set properties of timeseries object tsdata.event Construct event object for timeseries object timeseries Create timeseries object
Data Manipulation
 addsample Add data sample to timeseries object delsample Remove sample from timeseries object detrend Subtract mean or best-fit line and all NaNs from timeseries object filter Shape frequency content of time-series getabstime Extract date-string time vector into cell array getinterpmethod Interpolation method for timeseries object getsampleusingtime Extract data samples into new timeseries object idealfilter Apply ideal (noncausal) filter to timeseries object resample Select or interpolate timeseries data using new time vector setabstime Set times of timeseries object as date strings setinterpmethod Set default interpolation method for timeseries object synchronize Synchronize and resample two timeseries objects using common time vector
Event Data
 addevent Add event to timeseries object delevent Remove tsdata.event objects from timeseries object gettsafteratevent New timeseries object with samples occurring at or after event gettsafterevent New timeseries object with samples occurring after event gettsatevent New timeseries object with samples occurring at event gettsbeforeatevent New timeseries object with samples occurring before or at event gettsbeforeevent New timeseries object with samples occurring before event gettsbetweenevents New timeseries object with samples occurring between events
Descriptive Statistics
 iqr Interquartile range of timeseries data max Maximum value of timeseries data mean Mean value of timeseries data median Median value of timeseries data min Minimum value of timeseries data std Standard deviation of timeseries data sum Sum of timeseries data var Variance of timeseries data
Time Series Collections
 get (tscollection) Query tscollection object property values isempty (tscollection) Determine whether tscollection object is empty length (tscollection) Length of time vector plot Plot time series set (tscollection) Set properties of tscollection object size (tscollection) Size of tscollection object tscollection Create tscollection object addsampletocollection Add sample to tscollection object addts Add timeseries object to tscollection object delsamplefromcollection Remove sample from tscollection object getabstime (tscollection) Extract date-string time vector into cell array getsampleusingtime (tscollection) Extract data samples into new tscollection object gettimeseriesnames Cell array of names of timeseries objects in tscollection object horzcat (tscollection) Horizontal concatenation for tscollection objects removets Remove timeseries objects from tscollection object resample (tscollection) Select or interpolate data in tscollection using new time vector setabstime (tscollection) Set times of tscollection object as date strings settimeseriesnames Change name of timeseries object in tscollection vertcat (tscollection) Vertical concatenation for tscollection objects

Data Type Identification

 isa Determine if input is object of specified class iscalendarduration Determine if input is calendar duration array iscategorical Determine whether input is categorical array iscell Determine whether input is cell array iscellstr Determine whether input is cell array of strings ischar Determine whether item is character array isdatetime Determine if input is datetime array isduration Determine if input is duration array isfield Determine whether input is structure array field isfloat Determine if input is floating-point array isgraphics True for valid graphics object handles isinteger Determine if input is integer array isjava Determine if input is Java object islogical Determine if input is logical array isnumeric Determine if input is numeric array isobject Determine if input is MATLAB object isreal Determine whether array is real isenum Determine if variable is enumeration isstruct Determine whether input is structure array istable Determine whether input is table is* Detect state class Determine class of object validateattributes Check validity of array whos List variables in workspace, with sizes and types

Data Type Conversion

 char Convert to character array (string) cellstr Convert to cell array of strings int2str Convert integer to string mat2str Convert matrix to string num2str Convert number to string str2double Convert string to double-precision value str2num Convert string to number native2unicode Convert numeric bytes to Unicode character representation unicode2native Convert Unicode character representation to numeric bytes base2dec Convert base N number string to decimal number bin2dec Convert binary number string to decimal number dec2base Convert decimal to base N number in string dec2bin Convert decimal to binary number in string dec2hex Convert decimal to hexadecimal number in string hex2dec Convert hexadecimal number string to decimal number hex2num Convert hexadecimal number string to double-precision number num2hex Convert singles and doubles to IEEE hexadecimal strings table2array Convert table to homogeneous array table2cell Convert table to cell array table2struct Convert table to structure array array2table Convert homogeneous array to table cell2table Convert cell array to table struct2table Convert structure array to table cell2mat Convert cell array to ordinary array of the underlying data type cell2struct Convert cell array to structure array mat2cell Convert array to cell array with potentially different sized cells num2cell Convert array to cell array with consistently sized cells struct2cell Convert structure to cell array

Mathematics

Elementary Math

Arithmetic

 plus Addition uplus Unary plus minus Subtraction uminus Unary minus times Element-wise multiplication rdivide Right array division ldivide Left array division power Element-wise power mtimes Matrix Multiplication mrdivide Solve systems of linear equations xA = B for x mldivide Solve systems of linear equations Ax = B for x mpower Matrix power cumprod Cumulative product cumsum Cumulative sum diff Differences and Approximate Derivatives prod Product of array elements sum Sum of array elements ceil Round toward positive infinity fix Round toward zero floor Round toward negative infinity idivide Integer division with rounding option mod Remainder after division (modulo operation) rem Remainder after division round Round to nearest decimal or integer

Exponents and Logarithms

 exp Exponential expm1 Compute exp(x)-1 accurately for small values of x log Natural logarithm log10 Common logarithm (base 10) log1p Compute log(1+x) accurately for small values of x log2 Base 2 logarithm and dissect floating-point numbers into exponent and mantissa nextpow2 Exponent of next higher power of 2 nthroot Real nth root of real numbers pow2 Base 2 power and scale floating-point numbers reallog Natural logarithm for nonnegative real arrays realpow Array power for real-only output realsqrt Square root for nonnegative real arrays sqrt Square root

Descriptive Statistics

 corrcoef Correlation coefficients cov Covariance max Largest elements in array cummax Cumulative maximum mean Average or mean value of array median Median value of array min Smallest elements in array cummin Cumulative minimum mode Most frequent values in array std Standard deviation var Variance histcounts Histogram bin counts discretize Group numeric data into bins or categories

Complex Numbers

 abs Absolute value and complex magnitude angle Phase angle complex Create complex array conj Complex conjugate cplxpair Sort complex numbers into complex conjugate pairs i Imaginary unit imag Imaginary part of complex number isreal Determine whether array is real j Imaginary unit real Real part of complex number sign Signum function unwrap Correct phase angles to produce smoother phase plots

Discrete Math

 factor Prime factors factorial Factorial of input gcd Greatest common divisor isprime Determine which array elements are prime lcm Least common multiple nchoosek Binomial coefficient or all combinations perms All possible permutations primes Prime numbers less than or equal to input value rat Rational fraction approximation rats Rational output

Polynomials

 poly Polynomial with specified roots polyder Polynomial derivative polyeig Polynomial eigenvalue problem polyfit Polynomial curve fitting polyint Integrate polynomial analytically polyval Polynomial evaluation polyvalm Matrix polynomial evaluation residue Convert between partial fraction expansion and ratio of two polynomials roots Polynomial roots

Special Functions

 airy Airy Functions besselh Bessel function of third kind (Hankel function) besseli Modified Bessel function of first kind besselj Bessel function of first kind besselk Modified Bessel function of second kind bessely Bessel function of second kind beta Beta function betainc Incomplete beta function betaincinv Beta inverse cumulative distribution function betaln Logarithm of beta function ellipj Jacobi elliptic functions ellipke Complete elliptic integrals of first and second kind erf Error function erfc Complementary error function erfcinv Inverse complementary error function erfcx Scaled complementary error function erfinv Inverse error function expint Exponential integral gamma Gamma function gammainc Incomplete gamma function gammaincinv Inverse incomplete gamma function gammaln Logarithm of gamma function legendre Associated Legendre functions psi Psi (polygamma) function

Cartesian Coordinate System Conversion

 cart2pol Transform Cartesian coordinates to polar or cylindrical cart2sph Transform Cartesian coordinates to spherical pol2cart Transform polar or cylindrical coordinates to Cartesian sph2cart Transform spherical coordinates to Cartesian

Constants and Test Matrices

 eps Floating-point relative accuracy flintmax Largest consecutive integer in floating-point format i Imaginary unit j Imaginary unit Inf Infinity pi Ratio of circle's circumference to its diameter NaN Not-a-Number isfinite Array elements that are finite isinf Array elements that are infinite isnan Array elements that are NaN compan Companion matrix gallery Test matrices hadamard Hadamard matrix hankel Hankel matrix hilb Hilbert matrix invhilb Inverse of Hilbert matrix magic Magic square pascal Pascal matrix rosser Classic symmetric eigenvalue test problem toeplitz Toeplitz matrix vander Vandermonde matrix wilkinson Wilkinson's eigenvalue test matrix

Linear Algebra

Matrix Operations

 cross Cross product dot Dot product kron Kronecker tensor product surfnorm Compute and display 3-D surface normals tril Lower triangular part of matrix triu Upper triangular part of matrix transpose Transpose

Linear Equations

 cond Condition number with respect to inversion condest 1-norm condition number estimate inv Matrix inverse linsolve Solve linear system of equations lscov Least-squares solution in presence of known covariance lsqnonneg Solve nonnegative least-squares constraints problem pinv Moore-Penrose pseudoinverse of matrix rcond Reciprocal condition number sylvester Solve Sylvester equation AX + XB = C for X mldivide Solve systems of linear equations Ax = B for x mrdivide Solve systems of linear equations xA = B for x

Matrix Decomposition

 chol Cholesky factorization ichol Incomplete Cholesky factorization cholupdate Rank 1 update to Cholesky factorization ilu Sparse incomplete LU factorization lu LU matrix factorization qr Orthogonal-triangular decomposition qrdelete Remove column or row from QR factorization qrinsert Insert column or row into QR factorization qrupdate Rank 1 update to QR factorization planerot Givens plane rotation ldl Block LDL' factorization for Hermitian indefinite matrices cdf2rdf Convert complex diagonal form to real block diagonal form rsf2csf Convert real Schur form to complex Schur form gsvd Generalized singular value decomposition svd Singular value decomposition

Eigenvalues and Singular Values

 balance Diagonal scaling to improve eigenvalue accuracy cdf2rdf Convert complex diagonal form to real block diagonal form condeig Condition number with respect to eigenvalues eig Eigenvalues and eigenvectors eigs Largest eigenvalues and eigenvectors of matrix gsvd Generalized singular value decomposition hess Hessenberg form of matrix ordeig Eigenvalues of quasitriangular matrices ordqz Reorder eigenvalues in QZ factorization ordschur Reorder eigenvalues in Schur factorization poly Polynomial with specified roots polyeig Polynomial eigenvalue problem qz QZ factorization for generalized eigenvalues rsf2csf Convert real Schur form to complex Schur form schur Schur decomposition sqrtm Matrix square root ss2tf Convert state-space representation to transfer function svd Singular value decomposition svds Find singular values and vectors

Matrix Analysis

 bandwidth Lower and upper matrix bandwidth cond Condition number with respect to inversion condeig Condition number with respect to eigenvalues det Matrix determinant isbanded Determine if matrix is within specific bandwidth isdiag Determine if matrix is diagonal ishermitian Determine if matrix is Hermitian or skew-Hermitian issymmetric Determine if matrix is symmetric or skew-symmetric istril Determine if matrix is lower triangular istriu Determine if matrix is upper triangular norm Vector and matrix norms normest 2-norm estimate null Null space orth Orthonormal basis for range of matrix rank Rank of matrix rcond Reciprocal condition number rref Reduced row echelon form (Gauss-Jordan elimination) subspace Angle between two subspaces trace Sum of diagonal elements

Matrix Functions

 expm Matrix exponential logm Matrix logarithm sqrtm Matrix square root bsxfun Apply element-by-element binary operation to two arrays with singleton expansion enabled funm Evaluate general matrix function arrayfun Apply function to each element of array accumarray Construct array with accumulation mpower Matrix power

Random Number Generation

 rand Uniformly distributed random numbers randn Normally distributed random numbers randi Uniformly distributed pseudorandom integers randperm Random permutation rng Control random number generation RandStream Random number stream

Interpolation

1-D Interpolation

 interp1 1-D data interpolation (table lookup) griddedInterpolant Gridded data interpolation pchip Piecewise Cubic Hermite Interpolating Polynomial (PCHIP) spline Cubic spline data interpolation ppval Evaluate piecewise polynomial mkpp Make piecewise polynomial unmkpp Piecewise polynomial details padecoef Padé approximation of time delays interpft 1-D interpolation using FFT method

Gridded Data Interpolation

 interp2 Interpolation for 2-D gridded data in meshgrid format interp3 Interpolation for 3-D gridded data in meshgrid format interpn Interpolation for 1-D, 2-D, 3-D, and N-D gridded data in ndgrid format griddedInterpolant Gridded data interpolation ndgrid Rectangular grid in N-D space meshgrid Rectangular grid in 2-D and 3-D space

Scattered Data Interpolation

 griddata Interpolate scattered data griddatan Data gridding and hypersurface fitting (dimension ≥ 2) scatteredInterpolant Scattered data interpolation

Optimization

 fminbnd Find minimum of single-variable function on fixed interval fminsearch Find minimum of unconstrained multivariable function using derivative-free method fzero Root of nonlinear function lsqnonneg Solve nonnegative least-squares constraints problem optimget Optimization options values optimset Create or edit optimization options structure

Numerical Integration and Differential Equations

Ordinary Differential Equations

 ode45 Solve nonstiff differential equations; medium order method ode15s Solve stiff differential equations and DAEs; variable order method ode23 Solve nonstiff differential equations; low order method ode113 Solve nonstiff differential equations; variable order method ode23t Solve moderately stiff ODEs and DAEs; trapezoidal rule ode23tb Solve stiff differential equations; low order method ode23s Solve stiff differential equations; low order method ode15i Solve fully implicit differential equations, variable order method decic Compute consistent initial conditions for ode15i odextend Extend solution of initial value problem for ordinary differential equation odeget Ordinary differential equation options parameters odeset Create or alter options structure for ordinary differential equation solvers deval Evaluate solution of differential equation problem

Boundary Value Problems

 bvp4c Solve boundary value problems for ordinary differential equations bvp5c Solve boundary value problems for ordinary differential equations bvpinit Form initial guess for BVP solvers bvpxtend Form guess structure for extending boundary value solutions bvpget Extract properties from options structure created with bvpset bvpset Create or alter options structure of boundary value problem deval Evaluate solution of differential equation problem

Delay Differential Equations

 dde23 Solve delay differential equations (DDEs) with constant delays ddesd Solve delay differential equations (DDEs) with general delays ddensd Solve delay differential equations (DDEs) of neutral type ddeget Extract properties from delay differential equations options structure ddeset Create or alter delay differential equations options structure deval Evaluate solution of differential equation problem

Partial Differential Equations

 pdepe Solve initial-boundary value problems for parabolic-elliptic PDEs in 1-D pdeval Evaluate numerical solution of PDE using output of pdepe

Numerical Integration and Differentiation

 integral Numerical integration integral2 Numerically evaluate double integral integral3 Numerically evaluate triple integral quadgk Numerically evaluate integral, adaptive Gauss-Kronrod quadrature quad2d Numerically evaluate double integral, tiled method cumtrapz Cumulative trapezoidal numerical integration trapz Trapezoidal numerical integration polyint Integrate polynomial analytically del2 Discrete Laplacian diff Differences and Approximate Derivatives gradient Numerical gradient polyder Polynomial derivative

Fourier Analysis and Filtering

 abs Absolute value and complex magnitude angle Phase angle cplxpair Sort complex numbers into complex conjugate pairs fft Fast Fourier transform fft2 2-D fast Fourier transform fftn N-D fast Fourier transform fftshift Shift zero-frequency component to center of spectrum fftw Interface to FFTW library run-time algorithm tuning control ifft Inverse fast Fourier transform ifft2 2-D inverse fast Fourier transform ifftn N-D inverse fast Fourier transform ifftshift Inverse FFT shift nextpow2 Exponent of next higher power of 2 unwrap Correct phase angles to produce smoother phase plots conv Convolution and polynomial multiplication conv2 2-D convolution convn N-D convolution deconv Deconvolution and polynomial division detrend Remove linear trends filter 1-D digital filter filter2 2-D digital filter

Sparse Matrices

Sparse Matrix Creation

 spdiags Extract and create sparse band and diagonal matrices speye Sparse identity matrix sprand Sparse uniformly distributed random matrix sprandn Sparse normally distributed random matrix sprandsym Sparse symmetric random matrix sparse Create sparse matrix spconvert Import from sparse matrix external format

Sparse Matrix Manipulation

 issparse Determine whether input is sparse nnz Number of nonzero matrix elements nonzeros Nonzero matrix elements nzmax Amount of storage allocated for nonzero matrix elements spalloc Allocate space for sparse matrix spfun Apply function to nonzero sparse matrix elements spones Replace nonzero sparse matrix elements with ones spparms Set parameters for sparse matrix routines spy Visualize sparsity pattern find Find indices and values of nonzero elements full Convert sparse matrix to full matrix

Reordering Algorithms

 amd Approximate minimum degree permutation colamd Column approximate minimum degree permutation colperm Sparse column permutation based on nonzero count dmperm Dulmage-Mendelsohn decomposition randperm Random permutation symamd Symmetric approximate minimum degree permutation symrcm Sparse reverse Cuthill-McKee ordering

Sparse Linear Algebra

 condest 1-norm condition number estimate eigs Largest eigenvalues and eigenvectors of matrix ichol Incomplete Cholesky factorization ilu Sparse incomplete LU factorization normest 2-norm estimate spaugment Form least squares augmented system sprank Structural rank svds Find singular values and vectors

Linear Equations (Iterative Methods)

 bicg Biconjugate gradients method bicgstab Biconjugate gradients stabilized method bicgstabl Biconjugate gradients stabilized (l) method cgs Conjugate gradients squared method gmres Generalized minimum residual method (with restarts) lsqr LSQR method minres Minimum residual method pcg Preconditioned conjugate gradients method qmr Quasi-minimal residual method symmlq Symmetric LQ method tfqmr Transpose-free quasi-minimal residual method

Graph and Tree Algorithms

 etree Elimination tree etreeplot Plot elimination tree gplot Plot nodes and links representing adjacency matrix symbfact Symbolic factorization analysis treelayout Lay out tree or forest treeplot Plot picture of tree unmesh Convert edge matrix to coordinate and Laplacian matrices

Computational Geometry

Triangulation Representation

 triangulation Triangulation in 2-D or 3-D tetramesh Tetrahedron mesh plot trimesh Triangular mesh plot triplot 2-D triangular plot trisurf Triangular surface plot

Delaunay Triangulation

 delaunayTriangulation Delaunay triangulation in 2-D and 3-D delaunay Delaunay triangulation delaunayn N-D Delaunay triangulation tetramesh Tetrahedron mesh plot trimesh Triangular mesh plot triplot 2-D triangular plot trisurf Triangular surface plot
 triangulation Triangulation in 2-D or 3-D delaunayTriangulation Delaunay triangulation in 2-D and 3-D dsearchn N-D nearest point search tsearchn N-D closest simplex search delaunay Delaunay triangulation delaunayn N-D Delaunay triangulation

Bounding Regions

 boundary Boundary of a set of points in 2-D or 3-D alphaShape Polygons and polyhedra from points in 2-D and 3-D convhull Convex hull convhulln N-D convex hull alphaShape Polygons and polyhedra from points in 2-D and 3-D

Voronoi Diagram

 patch Create one or more filled polygons voronoi Voronoi diagram voronoin N-D Voronoi diagram

Elementary Polygons

 polyarea Area of polygon inpolygon Points located inside or on edge of polygonal region rectint Rectangle intersection area

Graphics

2-D and 3-D Plots

Line Plots

 plot 2-D line plot plotyy 2-D line plots with y-axes on both left and right side plot3 3-D line plot loglog Log-log scale plot semilogx Semilogarithmic plot semilogy Semilogarithmic plot errorbar Plot error bars along curve fplot Plot function between specified limits ezplot Easy-to-use function plotter ezplot3 Easy-to-use 3-D parametric curve plotter LineSpec (Line Specification) Line specification string syntax ColorSpec (Color Specification) Color specification

Pie Charts, Bar Plots, and Histograms

 bar Bar graph bar3 Plot 3-D bar graph barh Plot bar graph horizontally bar3h Plot horizontal 3-D bar graph histogram Histogram plot histcounts Histogram bin counts rose Angle histogram plot pareto Pareto chart area Filled area 2-D plot pie Pie chart pie3 3-D pie chart histogram Histogram bar plot for numeric data

Discrete Data Plots

 stem Plot discrete sequence data stairs Stairstep graph stem3 Plot 3-D discrete sequence data scatter Scatter plot scatter3 3-D scatter plot spy Visualize sparsity pattern plotmatrix Scatter plot matrix

Polar Plots

 polar Polar coordinate plot rose Angle histogram plot compass Plot arrows emanating from origin ezpolar Easy-to-use polar coordinate plotter LineSpec (Line Specification) Line specification string syntax ColorSpec (Color Specification) Color specification

Contour Plots

 contour Contour plot of matrix contourf Filled 2-D contour plot contourc Low-level contour plot computation contour3 3-D contour plot contourslice Draw contours in volume slice planes ezcontour Easy-to-use contour plotter ezcontourf Easy-to-use filled contour plotter

Vector Fields

 feather Plot velocity vectors quiver Quiver or velocity plot compass Plot arrows emanating from origin quiver3 3-D quiver or velocity plot streamslice Plot streamlines in slice planes streamline Plot streamlines from 2-D or 3-D vector data

Surfaces, Volumes, and Polygons

Surface and Mesh Plots
 surf 3-D shaded surface plot surfc Contour plot under a 3-D shaded surface plot surface Create surface object surfl Surface plot with colormap-based lighting surfnorm Compute and display 3-D surface normals mesh Mesh plot meshc Plot a contour graph under mesh graph meshz Plot a curtain around mesh plot waterfall Waterfall plot ribbon Ribbon plot contour3 3-D contour plot peaks Example function of two variables cylinder Generate cylinder ellipsoid Generate ellipsoid sphere Generate sphere pcolor Pseudocolor (checkerboard) plot surf2patch Convert surface data to patch data ezsurf Easy-to-use 3-D colored surface plotter ezsurfc Easy-to-use combination surface/contour plotter ezmesh Easy-to-use 3-D mesh plotter ezmeshc Easy-to-use combination mesh/contour plotter
Volume Visualization
 contourslice Draw contours in volume slice planes flow Simple function of three variables isocaps Compute isosurface end-cap geometry isocolors Calculate isosurface and patch colors isonormals Compute normals of isosurface vertices isosurface Extract isosurface data from volume data reducepatch Reduce number of patch faces reducevolume Reduce number of elements in volume data set shrinkfaces Reduce size of patch faces slice Volumetric slice plot smooth3 Smooth 3-D data subvolume Extract subset of volume data set volumebounds Coordinate and color limits for volume data coneplot Plot velocity vectors as cones in 3-D vector field curl Compute curl and angular velocity of vector field divergence Compute divergence of vector field interpstreamspeed Interpolate stream-line vertices from flow speed stream2 Compute 2-D streamline data stream3 Compute 3-D streamline data streamline Plot streamlines from 2-D or 3-D vector data streamparticles Plot stream particles streamribbon 3-D stream ribbon plot from vector volume data streamslice Plot streamlines in slice planes streamtube Create 3-D stream tube plot
Polygons
 fill Filled 2-D polygons fill3 Filled 3-D polygons patch Create one or more filled polygons surf2patch Convert surface data to patch data

Animation

 movie Play recorded movie frames getframe Capture axes or figure as movie frame frame2im Return image data associated with movie frame im2frame Convert image to movie frame animatedline Create animated line comet 2-D comet plot comet3 3-D comet plot drawnow Update figures and process callbacks refreshdata Refresh data in graph when data source is specified Animated Line Line animations

Formatting and Annotation

Titles and Labels

 title Add title to current axes xlabel Label x-axis ylabel Label y-axis zlabel Label z-axis clabel Contour plot elevation labels datetick Date formatted tick labels texlabel Format text into TeX string legend Add legend to graph colorbar Colorbar showing color scale

Coordinate System

 xlim Set or query x-axis limits ylim Set or query y-axis limits zlim Set or query z-axis limits box Axes border grid Display or hide axes grid lines daspect Set or query axes data aspect ratio pbaspect Set or query plot box aspect ratio axes Create axes graphics object axis Set axis limits and appearance subplot Create axes in tiled positions hold Retain current plot when adding new plots gca Current axes handle cla Clear axes

Annotation

 annotation Create annotation objects text Create text object in current axes line Create line object rectangle Create 2-D rectangle object legend Add legend to graph title Add title to current axes xlabel Label x-axis ylabel Label y-axis zlabel Label z-axis datacursormode Enable, disable, and manage interactive data cursor mode ginput Graphical input from mouse or cursor gtext Mouse placement of text in 2-D view

Colormaps

 colormap View and set current colormap colormapeditor Open colormap editor colorbar Colorbar showing color scale brighten Brighten or darken colormap contrast Grayscale colormap for contrast enhancement shading Set color shading properties graymon Set default figure properties for grayscale monitors caxis Color axis scaling hsv2rgb Convert HSV colormap to RGB colormap rgb2hsv Convert RGB colormap to HSV colormap rgbplot Plot colormap spinmap Spin colormap colordef Set default property values to display different color schemes whitebg Change axes background color

Data Exploration

 hidden Remove hidden lines from mesh plot pan Pan view of graph interactively reset Reset graphics object properties to their defaults rotate Rotate object about specified origin and direction rotate3d Rotate 3-D view using mouse zoom Turn zooming on or off or magnify by factorMagnify by a factor datacursormode Enable, disable, and manage interactive data cursor mode figurepalette Show or hide Figure Palette plotbrowser Show or hide figure Plot Browser plotedit Interactively edit and annotate plots plottools Show or hide plot tools propertyeditor Show or hide Property Editor showplottool Show or hide figure plot tool

Data Brushing

 brush Interactively mark, delete, modify, and save observations in graphs datacursormode Enable, disable, and manage interactive data cursor mode linkdata Automatically update graphs when variables change linkaxes Synchronize limits of specified 2-D axes linkprop Keep same value for corresponding properties of graphics objects refreshdata Refresh data in graph when data source is specified

3-D Scene Control

Camera Views
 view Viewpoint specification makehgtform Create 4-by-4 transform matrix viewmtx View transformation matrices cameratoolbar Control camera toolbar programmatically campan Rotate camera target around camera position camzoom Zoom in and out on scene camdolly Move camera position and target camlookat Position camera to view object or group of objects camorbit Rotate camera position around camera target campos Set or query camera position camproj Set or query projection type camroll Rotate camera about view axis camtarget Set or query location of camera target camup Set or query camera up vector camva Set or query camera view angle
Lighting and Transparency
 camlight Create or move light object in camera coordinates light Create light object lightangle Create or position light object in spherical coordinates lighting Specify lighting algorithm diffuse Calculate diffuse reflectance material Control reflectance properties of surfaces and patches specular Calculate specular reflectance alim Set or query axes alpha limits alpha Set transparency properties for objects in current axes alphamap Specify figure alphamap (transparency)

Images

Image File Operations

 imshow Display image image Display image from array imagesc Scale data and display image object imread Read image from graphics file imwrite Write image to graphics file imfinfo Information about graphics file imformats Manage image file format registry frame2im Return image data associated with movie frame im2frame Convert image to movie frame im2java Convert image to Java image

Modifying Images

 im2double Convert image to double precision ind2rgb Convert indexed image to RGB image rgb2gray Convert RGB image or colormap to grayscale rgb2ind Convert RGB image to indexed image imapprox Approximate indexed image by reducing number of colors dither Convert image, increasing apparent color resolution by dithering cmpermute Rearrange colors in colormap cmunique Eliminate duplicate colors in colormap; convert grayscale or truecolor image to indexed image

Printing and Saving

 print Print figure or save to specific file format saveas Save figure to specific file format getframe Capture axes or figure as movie frame savefig Save figure and contents to FIG-file openfig Open figure saved in FIG-file orient Hardcopy paper orientation hgexport Export figure printopt Configure printer defaults

Graphics Objects

Organization of Graphics Objects

 axes Create axes graphics object figure Create figure window groot Graphics root object

Graphics Object Properties

 get Query graphics object properties set Set graphics object properties inspect Open Property Inspector propedit Open Property Editor

Graphics Object Identification

 gca Current axes handle gcf Current figure handle gcbf Handle of figure containing object whose callback is executing gcbo Handle of object whose callback is executing gco Handle of current object groot Graphics root object ancestor Ancestor of graphics object allchild Find all children of specified objects findall Find all graphics objects findobj Locate graphics objects with specific properties findfigs Find visible offscreen figures gobjects Initialize array for graphics objects isgraphics True for valid graphics object handles ishandle Test for valid graphics or Java object handle copyobj Copy graphics objects and their descendants delete Delete files or objects

Graphics Object Programming

 gobjects Initialize array for graphics objects isgraphics True for valid graphics object handles isempty Determine whether array is empty isequal Determine array equality isa Determine if input is object of specified class clf Clear current figure window cla Clear axes close Remove specified figure

Default Property Values

 set Set graphics object properties get Query graphics object properties groot Graphics root object

Interactive Control and Callbacks

 uicontextmenu Create context menu uimenu Create menus and menu items on figure windows function_handle Handle used in calling functions indirectly dragrect Drag rectangles with mouse rbbox Create rubberband box for area selection refresh Redraw current figure shg Show most recent graph window

Object Containers

 hggroup Create group object hgtransform Create transform graphics object makehgtform Create 4-by-4 transform matrix eye Identity matrix

Specifying Target for Graphics Output

 hold Retain current plot when adding new plots ishold Current hold state newplot Determine where to draw graphics objects clf Clear current figure window cla Clear axes

Graphics Performance

 drawnow Update figures and process callbacks opengl Control OpenGL rendering

Programming Scripts and Functions

Control Flow

 if, elseif, else Execute statements if condition is true for Execute statements specified number of times parfor Parallel for loop switch, case, otherwise Execute one of several groups of statements try, catch Execute statements and catch resulting errors while Repeat execution of statements while condition is true break Terminate execution of for or while loop continue Pass control to next iteration of for or while loop end Terminate block of code, or indicate last array index pause Halt execution temporarily return Return control to invoking function

Scripts

 edit Edit or create file input Request user input publish Generate view of MATLAB file in specified format notebook Open MATLAB Notebook in Microsoft Word software (on Microsoft Windows platforms) grabcode Extract MATLAB code from file published to HTML snapnow Force snapshot of image for inclusion in published document

Functions

Function Basics

 function Declare function name, inputs, and outputs

Input and Output Arguments

 nargin Number of function input arguments nargout Number of function output arguments varargin Variable-length input argument list varargout Variable-length output argument list narginchk Validate number of input arguments nargoutchk Validate number of output arguments validateattributes Check validity of array validatestring Check validity of text string inputParser Parse function inputs inputname Variable name of function input

Variables

 persistent Define persistent variable isvarname Determine whether input is valid variable name matlab.lang.makeUniqueStrings Construct unique strings from input strings matlab.lang.makeValidName Construct valid MATLAB identifiers from input strings namelengthmax Maximum identifier length assignin Assign value to variable in specified workspace global Declare variables as global

Error Handling

 try, catch Execute statements and catch resulting errors error Throw error and display message warning Display warning message lastwarn Last warning message assert Throw error if condition false onCleanup Cleanup tasks upon function completion

Files and Folders

Search Path

 addpath Add folders to search path rmpath Remove folders from search path path View or change search path savepath Save current search path userpath View or change user portion of search path genpath Generate path string pathsep Search path separator for current platform pathtool Open Set Path dialog box to view and change search path restoredefaultpath Restore search path to its factory-installed state

File Operations

 dir List folder contents ls List folder contents pwd Identify current folder fileattrib Set or get attributes of file or folder exist Check existence of variable, function, folder, or class isdir Determine whether input is folder type Display contents of file visdiff Compare two text files, MAT-Files, binary files, Zip files, or folders what List MATLAB files in folder which Locate functions and files cd Change current folder copyfile Copy file or folder delete Delete files or objects recycle Set option to move deleted files to recycle folder mkdir Make new folder movefile Move file or folder rmdir Remove folder open Open file in appropriate application winopen Open file in appropriate application (Windows)

File Compression

 zip Compress files into zip file unzip Extract contents of zip file gzip Compress files into GNU zip files gunzip Uncompress GNU zip files tar Compress files into tar file untar Extract contents of tar file

File Name Construction

 fileparts Parts of file name and path fullfile Build full file name from parts filemarker Character to separate file name and internal function name filesep File separator for current platform tempdir Name of system's temporary folder tempname Unique name for temporary file matlabroot Root folder toolboxdir Root folder for specified toolbox

Debugging

 dbclear Clear breakpoints dbcont Resume execution dbdown Reverse workspace shift performed by dbup, while in debug mode dbquit Quit debug mode dbstack Function call stack dbstatus List all breakpoints dbstep Execute one or more lines from current breakpoint dbstop Set breakpoints for debugging dbtype List text file with line numbers dbup Shift current workspace to workspace of caller, while in debug mode checkcode Check MATLAB code files for possible problems keyboard Input from keyboard mlintrpt Run checkcode for file or folder, reporting results in browser

Code Editor

 edit Edit or create file

Programming Utilities

 echo Display statements during function execution eval Execute MATLAB expression in text string evalc Evaluate MATLAB expression with capture evalin Execute MATLAB expression in specified workspace feval Evaluate function run Run MATLAB script builtin Execute built-in function from overloaded method matlab.codetools.requiredFilesAndProducts List dependencies of MATLAB program files mfilename File name of currently running function pcode Create protected function file timer Create object to schedule execution of MATLAB commands

Data Import and Export

Standard File Formats

Text Files

 csvread Read comma-separated value (CSV) file csvwrite Write comma-separated value file dlmread Read ASCII-delimited file of numeric data into matrix dlmwrite Write matrix to ASCII-delimited file textscan Read formatted data from text file or string readtable Create table from file writetable Write table to file type Display contents of file

Images

 im2java Convert image to Java image imfinfo Information about graphics file imread Read image from graphics file imwrite Write image to graphics file Tiff MATLAB Gateway to LibTIFF library routines

Scientific Data

NetCDF Files
 nccreate Create variable in NetCDF file ncdisp Display contents of NetCDF data source in Command Window ncinfo Return information about NetCDF data source ncread Read data from variable in NetCDF data source ncreadatt Read attribute value from NetCDF data source ncwrite Write data to NetCDF file ncwriteatt Write attribute to NetCDF file ncwriteschema Add NetCDF schema definitions to NetCDF file
HDF5 Files
High-Level Functions
 h5create Create HDF5 data set h5disp Display contents of HDF5 file h5info Return information about HDF5 file h5read Read data from HDF5 data set h5readatt Read attribute from HDF5 file h5write Write to HDF5 data set h5writeatt Write HDF5 attribute
HDF4 Files
High-Level Functions
 hdfinfo Information about HDF4 or HDF-EOS file hdfread Read data from HDF4 or HDF-EOS file hdftool Browse and import data from HDF4 or HDF-EOS files imread Read image from graphics file imwrite Write image to graphics file
Low-Level Functions
 hdfan Gateway to HDF multifile annotation (AN) interface hdfhx Gateway to HDF external data (HX) interface hdfh Gateway to HDF H interface hdfhd Gateway to HDF HD interface hdfhe Gateway to HDF HE interface hdfml Utilities for working with MATLAB HDF gateway functions hdfpt Interface to HDF-EOS Point object hdfv Gateway to HDF Vgroup (V) interface hdfvf Gateway to VF functions in HDF Vdata interface hdfvh Gateway to VH functions in HDF Vdata interface hdfvs Gateway to VS functions in HDF Vdata interface hdfdf24 Gateway to HDF 24-bit raster image (DF24) interface hdfdfr8 Gateway to HDF 8-bit raster image (DFR8) interface
Band-Interleaved Files
 multibandread Read band-interleaved data from binary file multibandwrite Write band-interleaved data to file
Common Data Format
 cdfinfo Information about Common Data Format (CDF) file cdfread Read data from Common Data Format (CDF) file cdfepoch Convert date string or serial date number to CDF formatted dates todatenum Convert CDF epoch object to MATLAB serial date number

Audio and Video

Audio Recording and Playback
 audiodevinfo Information about audio device audioplayer Create object for playing audio audiorecorder Create object for recording audio sound Convert matrix of signal data to sound soundsc Scale data and play as sound
Audio Utilities
 beep Produce operating system beep sound lin2mu Convert linear audio signal to mu-law mu2lin Convert mu-law audio signal to linear

XML Documents

 xmlread Read XML document and return Document Object Model node xmlwrite Write XML Document Object Model node xslt Transform XML document using XSLT engine

Workspace Variables and MAT-Files

 clear Remove items from workspace, freeing up system memory clearvars Clear variables from memory disp Display value of variable openvar Open workspace variable in Variables editor or other graphical editing tool who List variables in workspace whos List variables in workspace, with sizes and types load Load variables from file into workspace save Save workspace variables to file matfile Access and change variables directly in MAT-files, without loading into memory

Low-Level File I/O

 fclose Close one or all open files feof Test for end-of-file ferror Information about file I/O errors fgetl Read line from file, removing newline characters fgets Read line from file, keeping newline characters fileread Read contents of file into string fopen Open file, or obtain information about open files fprintf Write data to text file fread Read data from binary file frewind Move file position indicator to beginning of open file fscanf Read data from text file fseek Move to specified position in file ftell Position in open file fwrite Write data to binary file

Large Files and Big Data

Datastore

 datastore Create datastore to access collection of data KeyValueDatastore Datastore for key-value pair data TabularTextDatastore Datastore for collections of tabular text files

MapReduce

 mapreduce Programming technique for analyzing data sets that do not fit in memory datastore Create datastore to access collection of data mapreducer Define execution environment for mapreduce KeyValueStore Store key-value pairs for use with mapreduce ValueIterator An iterator over intermediate values for use with mapreduce

Large MAT-Files

 matfile Access and change variables directly in MAT-files, without loading into memory

Memory Mapping

 memmapfile Create memory map to a file

TCP/IP Communication

 tcpclient Create TCP/IP client object to communicate over TCP/IP read Read data from remote host over TCP/IP interface write Write data to remote host over TCP/IP interface

Web Access

 web Open Web page or file in browser webread Read content from RESTful web service webwrite Write data to RESTful web service websave Save content from RESTful web service to file weboptions Specify parameters for RESTful web service sendmail Send email message to address list ftp Connect to FTP server

GUI Building

GUI Building Basics

 guide Open GUIDE inspect Open Property Inspector

Component Selection

UI Controls and Indicators

 figure Create figure window axes Create axes graphics object uicontrol Create user interface control object uitable Create table UI component uipanel Create panel container object uibuttongroup Create button group to manage radio buttons and toggle buttons uitab Create tabbed panel uitabgroup Create container for tabbed panels actxcontrol Create Microsoft ActiveX control in figure window
 uimenu Create menus and menu items on figure windows uicontextmenu Create context menu uitoolbar Create toolbar on figure uipushtool Create push button on toolbar uitoggletool Create toggle button on toolbar

Predefined Dialog Boxes

 errordlg Create error dialog box warndlg Create warning dialog box msgbox Create message dialog box helpdlg Create help dialog box waitbar Open or update wait bar dialog box questdlg Create question dialog box inputdlg Create dialog box that gathers user input listdlg Create list-selection dialog box uisetcolor Open color selection dialog box uisetfont Open font selection dialog box export2wsdlg Create dialog box for exporting variables to workspace uigetfile Open file selection dialog box uiputfile Open dialog box for saving files uigetdir Open folder selection dialog box uiopen Open dialog box for selecting file to load into workspace uisave Open dialog box for saving variables to MAT-file printdlg Open figure Print dialog box printpreview Open figure Print Preview dialog box exportsetupdlg Open figure Export Setup dialog box dialog Create empty modal dialog box uigetpref Conditionally open dialog box according to user preference menu Create multiple-choice dialog box

Component Layout

 align Align user interface controls (uicontrols) and axes movegui Move UI figure to specified location on screen getpixelposition Get component position in pixels setpixelposition Set component position in pixels listfonts List available system fonts textwrap Wrapped string matrix for given uicontrol uistack Reorder visual stacking order of objects

Coding UI Behavior

 uiwait Block program execution and wait to resume uiresume Resume execution of blocked program waitfor Block execution and wait for condition waitforbuttonpress Wait for key press or mouse-button click getappdata Retrieve application-defined data setappdata Store application-defined data isappdata True if application-defined data exists rmappdata Remove application-defined data guidata Store or retrieve UI data guihandles Create structure of handles closereq Default figure close request function uisetpref Manage preferences used in uigetpref

Packaging UIs as Apps

 matlab.apputil.create Create or modify app project file for packaging app into .mlappinstall file using interactive dialog box matlab.apputil.package Package app files into .mlappinstall file matlab.apputil.install Install app from a .mlappinstall file matlab.apputil.run Run app programmatically matlab.apputil.getInstalledAppInfo List installed app information matlab.apputil.uninstall Uninstall app

Object-Oriented Programming

Sample Classes

 classdef Class definition keywords

Class Syntax Fundamentals

 class Determine class of object isa Determine if input is object of specified class isequal Determine array equality isobject Determine if input is MATLAB object enumeration Display class enumeration members and names events Event names methods Class method names properties Class property names

MATLAB Class Editing

 edit Edit or create file clear Remove items from workspace, freeing up system memory matlab.lang.ObjectUpdateFailure Class representing objects that cannot be updated to new class definition

MATLAB Class Definition

Class Definition and Organization
 classdef Class definition keywords import Add package or class to current import list
Properties
 properties Class property names isprop Determine if property of object dynamicprops Abstract class used to derive handle class with dynamic properties meta.DynamicProperty Describe dynamic property of MATLAB object meta.property Describe property of MATLAB class
Methods
 methods Class method names ismethod Determine if method of object meta.method Describe method of MATLAB class
Handle Classes
 handle Abstract class for deriving handle classes matlab.mixin.SetGet Abstract class used to derive handle classes with set and get methods hgsetget Abstract class used to derive handle class with set and get methods dynamicprops Abstract class used to derive handle class with dynamic properties matlab.mixin.Copyable Superclass providing copy functionality for handle objects handle.addlistener Create event listener handle.delete Delete handle object handle.findobj Find handle objects isa Determine if input is object of specified class handle.isvalid Determine valid handles handle.findprop Find meta.property object handle.relationaloperators Determine equality or sort handle objects
Events
 events Event names handle.notify Notify listeners that event is occurring handle.addlistener Create event listener event.EventData Base class for all data objects passed to event listeners event.listener Class defining listener objects event.PropertyEvent Data for property events event.proplistener Define listener object for property events
Object Arrays
 empty Create empty array matlab.mixin.Heterogeneous Superclass for heterogeneous array formation
Class Hierarchies
Subclass Definition
 superclasses Superclass names superiorto Establish superior class relationship inferiorto Specify inferior class relationship matlab.mixin.Heterogeneous Superclass for heterogeneous array formation
Subclass Applications
 double Convert to double precision horzcat Concatenate arrays horizontally Vertcat Concatenate arrays vertically numel Number of array elements size Array dimensions subsref Redefine subscripted reference for objects
Enumerations
 enumeration Display class enumeration members and names isenum Determine if variable is enumeration meta.EnumeratedValue Describe enumeration member of MATLAB class
 save Save workspace variables to file load Load variables from file into workspace saveobj Modify save process for object loadobj Modify load process for object
Customize MATLAB Behavior
 cat Concatenate arrays along specified dimension horzcat Concatenate arrays horizontally vertcat Concatenate arrays vertically empty Create empty array disp Display value of variable display Display text and numeric expressions numel Number of array elements size Array dimensions end Terminate block of code, or indicate last array index subsref Redefine subscripted reference for objects subsasgn Subscripted assignment subsindex Subscript indexing with object substruct Create structure argument for subsasgn or subsref
Custom Object Display
 disp Display value of variable display Display text and numeric expressions details Display array details matlab.mixin.CustomDisplay Display customization interface class matlab.mixin.util.PropertyGroup Custom property list for object display

Getting Information About Classes and Objects

 metaclass Obtain meta.class object meta.abstractDetails Find abstract methods and properties meta.class.fromName Return meta.class object associated with named class meta.package.fromName Return meta.package object for specified package meta.package.getAllPackages Get all top-level packages properties Class property names methods Class method names events Event names superclasses Superclass names meta.class Describe MATLAB class meta.property Describe property of MATLAB class meta.method Describe method of MATLAB class meta.event Describe event of MATLAB class meta.package Describe MATLAB package meta.DynamicProperty Describe dynamic property of MATLAB object meta.EnumeratedValue Describe enumeration member of MATLAB class meta.MetaData Superclass for MATLAB object metadata

Calling External Functions

Call MEX-File Functions

 mexext Binary MEX-file-name extension inmem Names of functions, MEX-files, classes in memory

Call C Shared Libraries

 loadlibrary Load C/C++ shared library into MATLAB unloadlibrary Unload shared library from memory libisloaded Determine if shared library is loaded calllib Call function in shared library libfunctions Return information on functions in shared library libfunctionsview Display shared library function signatures in window libstruct Convert MATLAB structure to C-style structure for use with shared library libpointer Pointer object for use with shared library lib.pointer Pointer object compatible with C pointer

Call Java Libraries

 javaArray Construct Java array object javaclasspath Return Java class path or specify dynamic path javaaddpath Add entries to dynamic Java class path javarmpath Remove entries from dynamic Java class path javachk Error message based on Java feature support isjava Determine if input is Java object usejava Determine if Java feature is available javaMethod Call Java method javaMethodEDT Call Java method from Event Dispatch Thread (EDT) javaObject Call Java constructor javaObjectEDT Call Java constructor on Event Dispatch Thread (EDT) cell Create cell array class Determine class of object clear Remove items from workspace, freeing up system memory depfun List dependencies of function or P-file exist Check existence of variable, function, folder, or class fieldnames Field names of structure, or public fields of object im2java Convert image to Java image import Add package or class to current import list inmem Names of functions, MEX-files, classes in memory inspect Open Property Inspector isa Determine if input is object of specified class methods Class method names methodsview View class methods which Locate functions and files matlab.exception.JavaException Capture error information for Java exception

Call .NET Libraries

Getting Started
 NET.addAssembly Make .NET assembly visible to MATLAB NET.isNETSupported Check for supported Microsoft .NET Framework NET Summary of functions in MATLAB .NET interface enableNETfromNetworkDrive Enable access to .NET commands from network drive NET.Assembly Members of .NET assembly NET.NetException Capture error information for .NET exception
Data Types
 NET.createArray Array for nonprimitive .NET types cell Create cell array NET.disableAutoRelease Lock .NET object representing a RunTime Callable Wrapper (COM Wrapper) so that MATLAB does not release COM object NET.enableAutoRelease Unlock .NET object representing a RunTime Callable Wrapper (COM Wrapper) so that MATLAB releases COM object
Properties
 NET.setStaticProperty Static property or field name
Events and Delegates
 BeginInvoke Initiate asynchronous .NET delegate call EndInvoke Retrieve result of asynchronous call initiated by .NET System.Delegate BeginInvoke method Combine Convenience function for static .NET System.Delegate Combine method Remove Convenience function for static .NET System.Delegate Remove method RemoveAll Convenience function for static .NET System.Delegate RemoveAll method
Enumerations
 bitand Bit-wise AND bitor Bit-wise OR bitxor Bit-wise XOR bitnot .NET enumeration object bit-wise NOT instance method
Generic Classes
 NET.convertArray Convert numeric MATLAB array to .NET array NET.createGeneric Create instance of specialized .NET generic type NET.invokeGenericMethod Invoke generic method of object NET.GenericClass Represent parameterized generic type definitions

Call COM Objects

 actxserver Create COM server actxcontrol Create Microsoft ActiveX control in figure window actxcontrollist List currently installed Microsoft ActiveX controls actxcontrolselect Create Microsoft ActiveX control from UI actxGetRunningServer Handle to running instance of Automation server iscom Determine whether input is COM or ActiveX object isprop Determine whether input is COM object property get Get property value from interface, or display properties set Set object or interface property to specified value addproperty Add custom property to COM object deleteproperty Remove custom property from COM object inspect Open Property Inspector propedit Open built-in property page for control fieldnames Field names of structure, or public fields of object ismethod Determine whether input is COM object method methods Class method names methodsview View class methods invoke Invoke method on COM object or interface, or display methods isevent Determine whether input is COM object event events List of events COM object can trigger eventlisteners List event handler functions associated with COM object events registerevent Associate event handler for COM object event at run time unregisterallevents Unregister all event handlers associated with COM object events at run time unregisterevent Unregister event handler associated with COM object event at run time isinterface Determine whether input is COM interface interfaces List custom interfaces exposed by COM server object release Release COM interface delete Remove COM control or server move Move or resize control in parent window load Initialize control object from file save Serialize control object to file

Call Python Libraries

Getting Started
 pyversion Change default version of Python interpreter matlab.exception.PyException Capture error information for Python exception
Data Types
 pyargs Create keyword argument for Python function

Call WSDL Web Service

 matlab.wsdl.createWSDLClient Create interface to SOAP-based Web service matlab.wsdl.setWSDLToolPath Location of WSDL tools createClassFromWsdl Create MATLAB class based on WSDL document createSoapMessage Create SOAP (Simple Object Access Protocol) message to send to server callSoapService Send SOAP (Simple Object Access Protocol) message to endpoint parseSoapResponse Convert response string from SOAP (Simple Object Access Protocol) server into MATLAB types

Toolbox Distribution

 builddocsearchdb Build searchable documentation database

Exception Handling

 try, catch Execute statements and catch resulting errors MException Capture error information addCause Record additional causes of exception getReport Get error message for exception last Return last uncaught exception rethrow Rethrow previously caught exception throw Throw exception throwAsCaller Throw exception as if occurs within calling function

Unit Testing Framework

Write Unit Tests

 functiontests Create array of tests from handles to local functions matlab.unittest.TestCase Superclass of all matlab.unittest test classes matlab.unittest.Verbosity Verbosity level enumeration class

Run Unit Tests

 runtests Run set of tests matlab.unittest.TestCase.run Run TestCase test matlab.unittest.TestSuite.run Run TestSuite array using TestRunner object configured for text output matlab.unittest.TestRunner.run Run all tests in TestSuite array matlab.unittest.TestRunner.addPlugin Add plugin to TestRunner object matlab.unittest.TestSuite Class for grouping tests to run matlab.unittest.Test Specification of a single test method matlab.unittest.TestRunner Class for running tests in matlab.unittest framework

Analyze Test Results

 matlab.unittest.TestResult Result of running test suite

Performance and Memory

Code Performance

 bench MATLAB benchmark cputime Elapsed CPU time memory Display memory information profile Profile execution time for function profsave Save profile report in HTML format tic Start stopwatch timer timeit Measure time required to run function toc Read elapsed time from stopwatch

Memory Usage

 clear Remove items from workspace, freeing up system memory inmem Names of functions, MEX-files, classes in memory memory Display memory information pack Consolidate workspace memory whos List variables in workspace, with sizes and types

System Commands

 clipboard Copy and paste strings to and from system clipboard computer Information about computer on which MATLAB software is running dos Execute DOS command and return output getenv Environment variable perl Call Perl script using appropriate operating system executable setenv Set environment variable system Execute operating system command and return output unix Execute UNIX command and return output winqueryreg Item from Windows registry commandhistory Open Command History window, or select it if already open commandwindow Open Command Window, or select it if already open filebrowser Open Current Folder browser, or select it if already open workspace Open Workspace browser to manage workspace matlab.io.saveVariablesToScript Save workspace variables to MATLAB script getpref Preference setpref Set preference addpref Add preference rmpref Remove preference ispref Test for existence of preference

MATLAB API for Other Languages

MATLAB Engine API for C, C++, and Fortran

 mex Build MEX-function from C/C++ or Fortran source code

MATLAB COM Automation Server

 Execute Execute MATLAB command in Automation server Feval Evaluate MATLAB function in Automation server GetCharArray Character array from Automation server PutCharArray Store character array in Automation server GetFullMatrix Matrix from Automation server workspace PutFullMatrix Matrix in Automation server workspace GetVariable Data from variable in Automation server workspace GetWorkspaceData Data from Automation server workspace PutWorkspaceData Data in Automation server workspace MaximizeCommandWindow Open Automation server window MinimizeCommandWindow Minimize size of Automation server window Quit Terminate MATLAB Automation server enableservice Enable, disable, or report status of MATLAB Automation server

MATLAB Engine for Python

 matlab.engine.start_matlab Start MATLAB Engine for Python matlab.engine.MatlabEngine Python object using MATLAB as computational engine within Python session matlab.engine.FutureResult Results of asynchronous call to MATLAB function stored in Python object

MEX-File Creation API

Executable C/C++ MEX-Files
 mex Build MEX-function from C/C++ or Fortran source code dbmex Enable MEX-file debugging (on UNIX platforms) mex.getCompilerConfigurations Get compiler configuration information for building MEX-files
Call MEX-File Functions
 mexext Binary MEX-file-name extension inmem Names of functions, MEX-files, classes in memory
Share MEX-Files
 ver Version information for MathWorks products computer Information about computer on which MATLAB software is running mex.getCompilerConfigurations Get compiler configuration information for building MEX-files mexext Binary MEX-file-name extension
Troubleshoot MEX-Files
 dbmex Enable MEX-file debugging (on UNIX platforms) inmem Names of functions, MEX-files, classes in memory mex Build MEX-function from C/C++ or Fortran source code mex.getCompilerConfigurations Get compiler configuration information for building MEX-files mexext Binary MEX-file-name extension

Desktop Environment

Startup and Shutdown

 matlab (Windows) Start MATLAB program from Windows system prompt matlab (Mac) Start MATLAB program from Mac Terminal matlab (Linux) Start MATLAB program from Linux system prompt exit Terminate MATLAB program (same as quit) quit Terminate MATLAB program matlabrc Startup file for MATLAB program startup Startup file for user-defined options finish Termination file for MATLAB program

Basic Settings

 prefdir Folder containing preferences, history, and layout files preferences Open Preferences dialog box