# Practical Numerical Math Functions

## Documentation for package ‘pracma’ version 2.4.4

- DESCRIPTION file.
- Code demos. Use demo() to run them.
- Package NEWS.

## Help Pages

A B C D E F G H I J K L M N O P Q R S T U V W Z

pracma-package | Practical Numerical Math Routines

## -- A --

abm3pc | Adams-Bashford-Moulton
accumarray | Accumulate Vector Elements
acosd | Trigonometric Functions in Degrees
acot | More Trigonometric Functions
acotd | Trigonometric Functions in Degrees
acoth | More Hyperbolic Functions
acsc | More Trigonometric Functions
acscd | Trigonometric Functions in Degrees
acsch | More Hyperbolic Functions
affineproj | Linear Projection onto a Subspace
agmean | Arithmetic-geometric Mean
aitken | Aitken' Method
akimaInterp | Univariate Akima Interpolation
and | Logical AND, OR (Matlab Style)
andrewsplot | Andrews' Curves
angle | Basic Complex Functions
anms | Adaptive Nelder-Mead Minimization
approx_entropy | Approximate and Sample Entropy
arclength | Arc Length of a Curve
arnoldi | Arnoldi Iteration
arrayfun | Elementwise Function Application (Matlab Style)
asec | More Trigonometric Functions
asecd | Trigonometric Functions in Degrees
asech | More Hyperbolic Functions
asind | Trigonometric Functions in Degrees
atan2d | Trigonometric Functions in Degrees
atand | Trigonometric Functions in Degrees

## -- B --

barylag | Barycentric Lagrange Interpolation
barylag2d | 2-D Barycentric Lagrange Interpolation
beep | Utility functions (Matlab style)
bernoulli | Bernoulli Numbers and Polynomials
bernstein | Bernstein Polynomials
bernsteinb | Bernstein Polynomials
bisect | Rootfinding Through Bisection or Secant Rule
bits | Binary Representation
blanks | String of Blank Carakters
blkdiag | Block Diagonal Matrix
brent | Brent-Dekker Root Finding Algorithm
brentDekker | Brent-Dekker Root Finding Algorithm
brown72 | Brownian Motion
broyden | Broyden's Method
bsxfun | Elementwise Function Application (Matlab Style)
bubbleSort | Sorting Routines
bulirsch_stoer | Bulirsch-Stoer Algorithm
bvp | Boundary Value Problems

## -- C --

cart2pol | Coordinate Transformations
cart2sph | Coordinate Transformations
cd | Directory Functions (Matlab style)
ceil | Integer Functions (Matlab Style)
charpoly | Characteristic Polynomial
chebApprox | Chebyshev Approximation
chebCoeff | Chebyshev Polynomials
chebPoly | Chebyshev Polynomials
Ci | Sine and Cosine Integral Functions
circlefit | Fitting a Circle
circshift | Matrix Flipping (Matlab Style)
clear | Clear function (Matlab style)
clenshaw_curtis | Clenshaw-Curtis Quadrature Formula
combs | Generate Combinations
compan | Companion Matrix
complexstep | Complex Step Derivatives
cond | Matrix Condition
conv | Polynomial Convolution
cosd | Trigonometric Functions in Degrees
cot | More Trigonometric Functions
cotd | Trigonometric Functions in Degrees
cotes | Newton-Cotes Formulas
coth | More Hyperbolic Functions
cranknic | Crank-Nicolson Method
cross | Vector Cross Product
crossn | n-dimensional Vector Cross Product
csc | More Trigonometric Functions
cscd | Trigonometric Functions in Degrees
csch | More Hyperbolic Functions
cubicspline | Interpolating Cubic Spline
cumtrapz | Trapezoidal Integration
curvefit | Parametric Curve Fit
cutpoints | Find Cutting Points

## -- D --

dblquad | Double and Triple Integration
deblank | Remove leading and trailing white space.
deconv | Deconvolution
deeve | Event Detection in ODE solution
deg2rad | Degrees to Radians
detrend | Remove Linear Trends
deval | Evaluate ODE Solution
Diag | Matrix Diagonal
disp | Utility functions (Matlab style)
distmat | Distance Matrix
dot | Scalar Product

## -- E --

eig | Eigenvalue Function (Matlab Style)
eigjacobi | Jacobi Eigenvalue Method
einsteinF | Einstein Functions
ellipj | Elliptic and Jacobi Elliptic Integrals
ellipke | Elliptic and Jacobi Elliptic Integrals
eps | Floating Point Relative Accuracy
erf | Error Functions and Inverses (Matlab Style)
erfc | Error Functions and Inverses (Matlab Style)
erfcinv | Error Functions and Inverses (Matlab Style)
erfcx | Error Functions and Inverses (Matlab Style)
erfi | Error Functions and Inverses (Matlab Style)
erfinv | Error Functions and Inverses (Matlab Style)
erfz | Error Functions and Inverses (Matlab Style)
errorbar | Plot Error Bars
eta | Dirichlet Eta Function
euler_heun | Euler-Heun ODE Solver
expint | Exponential and Logarithmic Integral
expint_E1 | Exponential and Logarithmic Integral
expint_Ei | Exponential and Logarithmic Integral
expm | Matrix Exponential
eye | Some Basic Matrices
ezcontour | Contour, Surface, and Mesh Plotter
ezmesh | Contour, Surface, and Mesh Plotter
ezplot | Easy Function Plot
ezpolar | Easy Polar Plot
ezsurf | Contour, Surface, and Mesh Plotter

## -- F --

fact | Factorial Function
factorial2 | Factorial Function
factors | Prime Factors
fderiv | Numerical Differentiation
fftshift | Inverse Fast Fourier Transformation
fibsearch | Fibonacci Search
figure | Control Plot Devices (Matlab Style)
findintervals | Find Interval Indices
findmins | Find All Minima
findpeaks | Find Peaks
finds | find function (Matlab Style)
findstr | Find Substrings
findzeros | Find All Roots
Fix | Integer Functions (Matlab Style)
fletcher_powell | Fletcher-Powell Conjugate Gradient Minimization
flipdim | Matrix Flipping (Matlab Style)
fliplr | Matrix Flipping (Matlab Style)
flipud | Matrix Flipping (Matlab Style)
fminbnd | Finding Function Minimum
fmincon | Minimize Nonlinear Constrained Multivariable Function.
fminsearch | Derivative-free Nonlinear Function Minimization
fminunc | Minimize Unconstrained Multivariable Function
fnorm | Function Norm
fornberg | Fornberg's Finite Difference Approximation
fplot | Easy Function Plot
fprintf | Formatted Printing (Matlab style)
fractalcurve | Fractal Curves
fresnelC | Fresnel Integrals
fresnelS | Fresnel Integrals
fsolve | Solve System of Nonlinear Equations
fzero | Root Finding Algorithm
fzsolve | Complex Root Finding

## -- G --

gammainc | Incomplete Gamma Function
gammaz | Complex Gamma Function
gaussHermite | Gauss-Hermite Quadrature Formula
gaussLaguerre | Gauss-Laguerre Quadrature Formula
gaussLegendre | Gauss-Legendre Quadrature Formula
gaussNewton | Gauss-Newton Function Minimization
gauss_kronrod | Gauss-Kronrod Quadrature
gcd | GCD and LCM Integer Functions
geomean | Geometric and Harmonic Mean (Matlab Style)
geo_median | Geometric Median
givens | Givens Rotation
gmres | Generalized Minimal Residual Method
golden_ratio | Golden Ratio Search
grad | Numerical Gradient
gradient | Discrete Gradient (Matlab Style)
grad_csd | Complex Step Derivatives
gramSchmidt | Gram-Schmidt

## -- H --

hadamard | Hadamard Matrix
halley | Halley's Root Finding Mathod
hampel | Hampel Filter
hankel | Hankel Matrix
harmmean | Geometric and Harmonic Mean (Matlab Style)
hausdorff_dist | Hausdorff Distance
haversine | Haversine Formula
heapSort | Sorting Routines
hessdiag | Hessian utilities
hessenberg | Hessenberg Matrix
hessian | Hessian Matrix
hessian_csd | Complex Step Derivatives
hessvec | Hessian utilities
hilb | Hilbert Matrix
histc | Histogram Count (Matlab style)
histss | Histogram Bin-width Optimization
hooke_jeeves | Hooke-Jeeves Function Minimization Method
horner | Horner's Rule
hornerdefl | Horner's Rule
householder | Householder Reflections
humps | Matlab Test Functions
hurstexp | Hurst Exponent
hypot | Hypotenuse Function

## -- I --

idivide | Integer Division
ifft | Inverse Fast Fourier Transformation
ifftshift | Inverse Fast Fourier Transformation
Imag | Basic Complex Functions
incgam | Incomplete Gamma Function
inpolygon | Polygon Region
insertionSort | Sorting Routines
integral | Adaptive Numerical Integration
integral2 | Numerically Evaluate Double and Triple Integrals
integral3 | Numerically Evaluate Double and Triple Integrals
interp1 | One-dimensional Interpolation
interp2 | Two-dimensional Data Interpolation
inv | Matrix Inverse (Matlab Style)
invlap | Inverse Laplacian
is.sorted | Sorting Routines
isempty | isempty Property
isposdef | Positive Definiteness
isprime | isprime Property
itersolve | Iterative Methods

## -- J --

jacobian | Jacobian Matrix
jacobian_csd | Complex Step Derivatives

## -- K --

kabsch | Solving the Procrustes Problem
kriging | Interpolation by Kriging
kron | Kronecker product (Matlab Style)

## -- L --

L1linreg | L1 Linear Regression
lagrangeInterp | Lagrange and Newtons Interpolation
laguerre | Laguerre's Method
lambertWn | Lambert's W Function
lambertWp | Lambert's W Function
laplacian | Laplacian Operator
laplacian_csd | Complex Step Derivatives
Lcm | GCD and LCM Integer Functions
lebesgue | Lebesgue Constant
legendre | Legendre Functions (Matlab Style)
li | Exponential and Logarithmic Integral
linearproj | Linear Projection onto a Subspace
line_integral | Line integral (in the complex plane)
linprog | Linear Programming Solver
linspace | Linearly Spaced Sequences
logit | Sigmoid Function
loglog | Semi-logarithmic Plots (Matlab Style)
logm | Matrix Exponential
logseq | Log-linearly Spaced Sequences
logspace | Log-linearly Spaced Sequences
lsqcurvefit | Nonlinear Least-Squares Fitting
lsqlin | Linear Least-Squares Fitting
lsqlincon | Linear Least-Squares Fitting with linear constraints
lsqnonlin | Nonlinear Least-Squares Fitting
lsqnonneg | Nonlinear Least-Squares Fitting
lsqsep | Nonlinear Least-Squares Fitting
lu | LU Matrix Factorization
lufact | LU Matrix Factorization
lusys | LU Matrix Factorization
lu_crout | LU Matrix Factorization

## -- M --

magic | Magic Square
matlab | Matlab Compatibility
mergeOrdered | Sorting Routines
mergeSort | Sorting Routines
meshgrid | Generate a Mesh Grid
mexpfit | Multi-exponential Fitting
midpoint | Bulirsch-Stoer Algorithm
mkpp | Piecewise Polynomial Structures
mldivide | Matlab backslash operator
mod | Integer Division
Mode | Mode function (Matlab style)
moler | Moler Matrix
movavg | Moving Average Filters
mrdivide | Matlab backslash operator
muller | Muller's Method

## -- N --

nchoosek | Binomial Coefficients
ndims | Number of Dimensions
nearest_spd | Nearest Symmetric Positive-definite Matrix
nelder_mead | Nelder-Mead Function Minimization Method
neville | Neville's Method
newmark | Newmark Method
newton | Rootfinding through Newton-Raphson or Secant.
newtonHorner | Newton's Root Finding Method for Polynomials.
newtonInterp | Lagrange and Newtons Interpolation
newtonRaphson | Rootfinding through Newton-Raphson or Secant.
newtonsys | Newton Method for Nonlinear Systems
nextpow2 | Next Power of 2
nnz | Nonzero Elements
Norm | Vector Norm
normest | Estimated Matrix Norm
nthroot | Real nth Root
null | Kernel or Nullspace
nullspace | Kernel or Nullspace
num2str | Converting string to number (Matlab style)
numderiv | Richardson's Numerical Derivative
numdiff | Richardson's Numerical Derivative
numel | Number of Elements

## -- O --

ode23 | Non-stiff (and stiff) ODE solvers
ode23s | Non-stiff (and stiff) ODE solvers
ode45 | Non-stiff (and stiff) ODE solvers
ode78 | Non-stiff (and stiff) ODE solvers
odregress | Orthogonal Distance Regression
ones | Some Basic Matrices
or | Logical AND, OR (Matlab Style)
orth | Range Space

## -- P --

pade | Pade Approximation
pascal | Pascal Triangle
pchip | Hermitean Interpolation Polynomials
pchipfun | Hermitean Interpolation Polynomials
pdist | Distance Matrix
pdist2 | Distance Matrix
peaks | Peaks Function (Matlab Style)
perms | Generate Permutations
piecewise | Piecewise Linear Function
pinv | Pseudoinverse or Generalized Inverse
plotyy | Plotting Two y-Axes
poisson2disk | Poisson Disk Sampling
pol2cart | Coordinate Transformations
polar | Polar Coordinate Plot (Matlab Style)
Poly | Define Polynomial by Roots
poly2str | Print Polynomial
polyadd | Adding Polynomials
polyApprox | Polynomial Approximation
polyarea | Area of a Polygon
polyder | Derivative of Polynomial
polydiv | Multiplying and Dividing Polynomials
polyfit | Fitting by Polynomial
polyfix | Fitting by Polynomial
polygcf | Polynomial Transformations
polyint | Anti-derivative of Polynomial
polylog | Polylogarithm Function
polymul | Multiplying and Dividing Polynomials
polypow | Polynomial Powers
polyroots | Polynomial Roots
polytrans | Polynomial Transformations
polyval | Evaluating a Polynomial
polyvalm | Evaluating a Polynomial
poly_center | Area of a Polygon
poly_crossings | Area of a Polygon
poly_length | Area of a Polygon
pow2 | Base 2 Power
ppfit | Piecewise Polynomial Fit
ppval | Piecewise Polynomial Structures
pracma | Practical Numerical Math Routines
primes | Prime Numbers
procrustes | Solving the Procrustes Problem
psi | Psi (Polygamma) Function
psinc | Matlab Test Functions
pwd | Directory Functions (Matlab style)

## -- Q --

qpsolve | Special Quadratic Programming Solver
qpspecial | Special Quadratic Programming Solver
qrSolve | LSE Solution
quad | Adaptive Simpson Quadrature
quad2d | 2-d Gaussian Quadrature
quadcc | Adaptive Clenshaw-Curtis Quadrature
quadgk | Adaptive Gauss-Kronrod Quadrature
quadgr | Gaussian Quadrature with Richardson Extrapolation
quadinf | Infinite Integrals
quadl | Adaptive Lobatto Quadrature
quadprog | Quadratic Programming
quadv | Vectorized Integration
quickSort | Sorting Routines
quickSortx | Sorting Routines
quiver | Quiver or Velocity Plot

## -- R --

rad2deg | Degrees to Radians
rand | Create Random Matrices
randcomb | Random Combination
randi | Create Random Matrices
randn | Create Random Matrices
randortho | Generate Random Orthonormal or Unitary Matrix
randp | Create Random Matrices
randperm | Random Permutation
rands | Create Random Matrices
randsample | Create Random Matrices
Rank | Matrix Rank
rat | Continuous Fractions (Matlab Style)
ratinterp | Rational Interpolation
rationalfit | Rational Function Approximation
rats | Continuous Fractions (Matlab Style)
Real | Basic Complex Functions
rectint | Rectangle Intersection Areas
refindall | Find overlapping regular expression matches.
regexp | Match regular expression
regexpi | Match regular expression
regexprep | Replace string using regular expression
regulaFalsi | Rootfinding Through Bisection or Secant Rule
rem | Integer Division
repmat | Replicate Matrix
Reshape | Reshape Matrix
ridders | Ridders' Root Finding Method
rk4 | Classical Runge-Kutta
rk4sys | Classical Runge-Kutta
rkf54 | Runge-Kutta-Fehlberg
rmserr | Accuracy Measures
romberg | Romberg Integration
rootm | Matrix Square and p-th Roots
roots | Polynomial Roots
rootsmult | Polynomial Roots
rosser | Rosser Matrix
rot90 | Matrix Rotation
rref | Reduced Row Echelon Form
runge | Runge Function

## -- S --

sample_entropy | Approximate and Sample Entropy
savgol | Savitzky-Golay Smoothing
sec | More Trigonometric Functions
secant | Rootfinding Through Bisection or Secant Rule
secd | Trigonometric Functions in Degrees
sech | More Hyperbolic Functions
segm_distance | Segment Distance
segm_intersect | Segment Intersection
selectionSort | Sorting Routines
semilogx | Semi-logarithmic Plots (Matlab Style)
semilogy | Semi-logarithmic Plots (Matlab Style)
shellSort | Sorting Routines
shooting | Shooting Method
shubert | Shubert-Piyavskii Method
Si | Sine and Cosine Integral Functions
sigmoid | Sigmoid Function
signm | Matrix Square and p-th Roots
simpadpt | Adaptive Simpson Quadrature
simpson2d | Double Simpson Integration
sinc | Matlab Test Functions
sind | Trigonometric Functions in Degrees
size | Size of Matrix
softline | Soft (Inexact) Line Search
sortrows | Sort Rows of a Matrix (Matlab Style)
sph2cart | Coordinate Transformations
spinterp | Monotone (Shape-Preserving) Interpolation
sqrtm | Matrix Square and p-th Roots
squareform | Format Distance Matrix (Matlab Style)
std | Standard Deviation (Matlab Style)
std_err | Standard Error
steep_descent | Steepest Descent Minimization
stereographic | Stereographic Projection
stereographic_inv | Stereographic Projection
str2num | Converting string to number (Matlab style)
strcat | String Concatenation
strcmp | String Comparison
strcmpi | String Comparison
strfind | Find Substrings
strfindi | Find Substrings
strjust | Justify character vector
strRep | Find and replace substring
strTrim | Remove leading and trailing white space.
subspace | Angle between two subspaces
sumalt | Alternating Series Acceleration

## -- T --

tand | Trigonometric Functions in Degrees
taylor | Taylor Series Approximation
testSort | Sorting Routines
tic | MATLAB timer functions
titanium | Titanium Test Data
toc | MATLAB timer functions
Toeplitz | Toeplitz Matrix
Trace | Matrix trace
trapz | Trapezoidal Integration
trapzfun | Trapezoidal Integration
trigApprox | Trigonometric Approximation
trigPoly | Trigonometric Polynomial
tril | Triangular Matrices (Matlab Style)
trimmean | Geometric and Harmonic Mean (Matlab Style)
triplequad | Double and Triple Integration
triquad | Gaussian Triangle Quadrature
trisolve | Tridiagonal Linear System Solver
triu | Triangular Matrices (Matlab Style)

## -- U --

uniq | Accumulate Vector Elements

## -- V --

vander | Vandermonde matrix
vectorfield | Vector Field Plotting
ver | Clear function (Matlab style)

## -- W --

what | Directory Functions (Matlab style)
whittaker | Whittaker Smoothing
who | Clear function (Matlab style)
whos | Clear function (Matlab style)
wilkinson | wilkinson Matrix

## -- Z --

zeros | Some Basic Matrices
zeta | Riemann Zeta Function